Дан целочисленный одномерный массив, состоящий из n элементов. Найти сумму и произведение...

0 голосов
158 просмотров

Дан целочисленный одномерный массив, состоящий из n элементов. Найти сумму и произведение нечетных элементов, кратных 3.


Информатика (22 баллов) | 158 просмотров
Дано ответов: 2
0 голосов

//Java
class Main {
public static void main(String[] args){
int[] a = new int[new java.util.Random().nextInt(100)];

for (int i = 0; i < a.length; i++)
a[i] = new java.util.Random().nextInt(499)+1;

for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");

int b = 0;
int c = 1;

for (int i = 0; i < a.length; i++)
if 
(a[i] % 3 == 0 && a[i] % 2 == 1) {
b += a[i];
c *= a[i];
}
System.out.print("\nsum: " + b + "\nmulti: " + c);
}
}

Проверка:
$ javac Main.java
327 206 226 438 363 169 433 338 75 127 429 77 271 487 384 173 325 169 250 128 432 214 297 31 238 294 307 151 425 1 19 373 136 246 86 368 183 38 92 186 334 64 486 107 285 240 445 480 271 174 8 325 476 143 169 496 254 437 330 227 496 134 460 20 395 387
sum: 2346
multi: 
936904523

(3.4k баллов)
0 голосов

Const n=5;
type mass=array[1..n] of integer;
Var  i,p,s:integer; 
        a:mass;
Begin 
    p:=1; 
    s:=0; 
    for i:=1 to n do 
      read (a[i]); 
    for i:=1 to n do 
      if (a[i] mod 3)=0 and (a[i]mod 2)<>0 then     
          begin       
            s:=s+a[i];       
            p:=p*a[i];     
          end; 
   writeln('summ= ', s); 
  writeln('Proizvedinie= ', p);
end.

(67 баллов)
0

Pascal.

0

(a[i]mod 2)<>0
смысл этой проверки?
нужны ведь нечетные => (a[i] mod 3)=0 - достаточно

0

пардон, мой прокол
нужна
но тогда не (a[i]mod 2)<>0
а (a[i]mod 2) = 1

0

Если дается отрицательное число? Допустим, "-30".

0

отрицательным быть не может
сами попробуйте
будет или 0 или 1
0 - все ок
1 - отрицание

0

по крайней мере в Java - будет 0 или 1