Задача: Даны натуральное число [latex]n[/latex], действительные числа [latex]a_{1},\cdot \cdot \cdot ,a_{n}[/latex]. Вычислить: [latex]\sqrt{\left|a_{1}a_{2}\cdot \cdot \cdot a_{n} \right|}[/latex].
[latex]n[/latex] | [latex]a_{1}[/latex] | [latex]a_{2}[/latex] | [latex]a_{3}[/latex] | [latex]a_{4}[/latex] | [latex]a_{5}[/latex] | [latex]a_{6}[/latex] | [latex]a_{7}[/latex] | [latex]a_{8}[/latex] | [latex]k[/latex] |
4 | -5 | 2 | 4 | -3.6 | — | — | — | — | 12 |
8 | -5 | 0.2 | -3.2 | 0.5 | -1.25 | 20 | 2 | 80 | 80 |
3 | 4 | 4 | 0 | — | — | — | — | — | 0 |
5 | 3 | 8 | 6 | 2.8 | 1.3 | — | — | — | 22.894541 |
С++:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <stdio.h> #include <math.h> int main(void) { int n; scanf("%d", &n); double a, p=1, k; for(int i=1; i<=n; i++) { scanf("%lf", &a); p*=a; } k=sqrt(fabs(p)); printf("%lf", k); return 0; } |
Java:
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.*; class Ideone { public static void main (String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); double a, p=1, k; for(int i=1; i<=n; i++){ a = in.nextDouble(); p*=a; } k=Math.sqrt(Math.abs(p)); System.out.println(k); } } |
Объявляем переменную [latex]n[/latex] (количество элементов — это целое число, поэтому используем тип int) и переменные a (элементы произведения), p (произведение), k (корень из модуля произведения элементов), они могут быть вещественными, поэтому выбираем тип double.
В цикле for считываются элементы [latex]a_{1},a_{2},\cdot \cdot \cdot ,a_{n}[/latex], где [latex]i[/latex] — индекс элемента, и вычисляется их произведение.
После цикла вычисляется корень из модуля произведений элементов.
Молодец. Засчитано.
Засчитано, 10 баллов.