Задача. Даны натуральное число [latex]n[/latex], действительные числа [latex]a_{1}\ldots a_{n}[/latex].
Вычислить: [latex]2\left(a_{1}+\ldots+a_{n} \right)^2[/latex]
Тесты:
n | введенные | результат |
3 | 1 2 3 | 72 |
4 | 0 0 0 0 | 0 |
4 | -5 -7 -3 -1 | 512 |
4 | 0.5 2.5 -0.7 2.6 | 48.02 |
3 | -64 -128 63 | 2 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> #include <cmath> using namespace std; int main() { double a, sum; int n; cin >> n; sum = 0; for(int i = 0; i < n; i++) { cin >> a; sum += a; } cout << 2*sum*sum; return 0; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { public static void main (String[] args) throws java.lang.Exception { double a, sum, b; int n; Scanner in = new Scanner(System.in); n = in.nextInt(); b = 0; for(int i = 0; i < n; i++){ a = in.nextInt(); b += a; } sum = 2*b*b; System.out.printf("%.6f ",sum); } } |
Ход решения:
Заводим переменную [latex]a[/latex], счётчик [latex]sum[/latex] и количество чисел [latex]n[/latex]. Присваиваем счётчику [latex]sum [/latex] значение [latex]0 [/latex] . Далее делаем цикл до [latex]n[/latex] , а в нём прибавляем значение текущего [latex]a[/latex] к счётчику [latex]sum[/latex]. При выводе возводим наш счётчик с конечной суммой всех элементов во вторую степень и умножаем на [latex]2[/latex].
Нужно прочесть число n, а потом читать и суммировать n чисел. Даже если в потоке их больше. Такое условие задачи.
Всё учел и исправил. Добавил тест с не целыми числами, но пришлось изменить код.
— Используете значение переменной в которую ничего не положили.
— Количество чисел хранится не в целой переменной.
Исправил.
Если и исправили, то не до конца, т.к. я вижу double ... n ...;, т.е. количество чисел вещественное — Игорь Евгеньевич прямо указал Вам на эту ошибку.
извиняюсь за свою невнимательность. ошибку устранил
Отступы