Алина,вера и аскар родились 5 марта,5 и 31 июля.алина и вера родились одного и того же числа,а у веры и аскара дни ррждения-в разные месяцы.кто в какой день родился?
Function IsPrime(n:integer):Boolean; { Проверка, является ли число простым } var p:integer; found:Boolean; begin found:= (n mod 2 = 0); p:=3; while (not found) and (sqr(p)<=n) do begin found:=(n mod p = 0); p:=p+2 end; IsPrime:=(not found) or (p = 2) end;
const m1 = 20; n1 = 20;
var a: array[1..m1, 1..n1] of integer; s,k:array[1..n1] of integer; i, j, m, n, sum, kol: integer;
begin Write('Введите через пробел число строк и столбцов массива: '); Readln(m, n); Randomize; Writeln(#13#10, 'Исходный массив'); for i := 1 to m do begin for j := 1 to n do begin a[i,j]:= Random(99)+1; Write(a[i,j]:3) end; Writeln end; for j:=1 to n do begin sum:=0; kol:=0; for i:=1 to m do if IsPrime(a[i,j]) then begin sum:=sum+a[i,j]; kol:=kol+1 end; s[j]:=sum; k[j]:=kol end; Writeln('*** Сумма простых элементов по столбцам ***'); for j:=1 to n do Write(s[j]:4); Writeln; Writeln('*** Количество простых элементов по столбцам ***'); for j:=1 to n do Write(k[j]:4); Writeln end.
Тестовое решение:
Введите через пробел число строк и столбцов массива: 12 15
Var n, amount, max_digit, copy_of_n: integer; begin read(n); copy_of_n := n; amount := 0; max_digit := copy_of_n mod 10; while copy_of_n <> 0 do begin {Находим наибольшую цифру в числе} if max_digit < copy_of_n mod 10 then max_digit := copy_of_n mod 10; copy_of_n := copy_of_n div 10; end; copy_of_n := n; while copy_of_n <> 0 do {Считаем количество таких цифр} begin if copy_of_n mod 10 = max_digit then amount := amount + 1; copy_of_n := copy_of_n div 10; end; writeln(amount); end.
Если у Веры и Аскара в разные месяцы, а у Алины с Верой одно и тоже число, то Аскар - 31 июля; Вера - 5 марта; Алина - 5 июля