Вопрос задан 05.11.2026 в 08:43. Предмет Информатика. Спрашивает Белокрылова Серафима.

Дано вещественное число A и целое число N (N > 0). Используя один цикл, найти сумму 1 + A^1 + A^2 + A^3 + ... + A^N. Язык: Java. Нужно решение с использованием do-while, while и for.

Перейти к ответам

Ответы на вопрос

Отвечает Шалахманова Лиза.

Решение задачи на Java с использованием циклов do-while, while и for

Условие задачи:

Даны вещественное число A и целое положительное число N (N > 0). Необходимо найти сумму:

S=1+A1+A2+A3+…+ANS = 1 + A^1 + A^2 + A^3 + \ldots + A^N

Решить задачу, используя один цикл. Нужно представить три варианта решения: с помощью do-while, while и for.

1. Решение с использованием цикла do-while

Код программы:

Java
import java.util.Scanner;

public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in);

System.out.print("Введите A: "); double A = sc.nextDouble();

System.out.print("Введите N: "); int N = sc.nextInt();

double S = 1; double p = 1; int i = 1;

do { p = p * A; S = S + p; i++; } while (i <= N);

System.out.println("Сумма = " + S); } }

Объяснение:

  • S = 1 — начальное значение суммы, так как в выражении первым слагаемым является единица.

  • p = 1 — переменная для хранения текущей степени числа A.

  • i = 1 — счётчик цикла.

  • p = p * A — вычисляем очередную степень числа A.

  • S = S + p — добавляем полученную степень к общей сумме.

  • i++ — увеличиваем счётчик на единицу.

  • Цикл продолжается, пока i <= N.

Цикл do-while сначала выполняет тело цикла, а затем проверяет условие.

2. Решение с использованием цикла while

Код программы:

Java
import java.util.Scanner;

public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in);

System.out.print("Введите A: "); double A = sc.nextDouble();

System.out.print("Введите N: "); int N = sc.nextInt();

double S = 1; double p = 1; int i = 1;

while (i <= N) { p = p * A; S = S + p; i++; }

System.out.println("Сумма = " + S); } }

Объяснение:

Алгоритм аналогичен предыдущему решению.

  1. Изначально сумма равна 1.

  2. Переменная p хранит текущую степень числа A.

  3. Пока счётчик i не превышает N, выполняются следующие действия:

    • Вычисляется очередная степень: p = p * A.

    • Степень добавляется к сумме: S = S + p.

    • Счётчик увеличивается на единицу.

  4. После завершения цикла выводится результат.

Главное отличие while от do-while заключается в том, что условие цикла while проверяется перед выполнением тела цикла.

3. Решение с использованием цикла for

Код программы:

Java
import java.util.Scanner;

public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in);

System.out.print("Введите A: "); double A = sc.nextDouble();

System.out.print("Введите N: "); int N = sc.nextInt();

double S = 1; double p = 1;

for (int i = 1; i <= N; i++) { p = p * A; S = S + p; }

System.out.println("Сумма = " + S); } }

Объяснение:

В цикле for объединены три элемента:

  • int i = 1 — начальная установка счётчика.

  • i <= N — условие продолжения цикла.

  • i++ — увеличение счётчика после каждой итерации.

В теле цикла:

  • p = p * A — вычисление очередной степени числа A.

  • S = S + p — добавление степени к общей сумме.

После выполнения всех итераций программа выводит результат.

4. Пример работы программы

Пусть:

  • A = 2

  • N = 4

Тогда необходимо вычислить:

S=1+21+22+23+24S = 1 + 2^1 + 2^2 + 2^3 + 2^4
S=1+2+4+8+16=31S = 1 + 2 + 4 + 8 + 16 = 31

Рассмотрим последовательность вычислений:

Итерация

Степень p

Сумма S

Начало

1

1

1

2

3

2

4

7

3

8

15

4

16

31

Результат: 31

5. Сравнение трёх циклов

Цикл

Особенность

do-while

Сначала выполняет тело цикла, затем проверяет условие.

while

Сначала проверяет условие, затем выполняет тело цикла.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос