Составить блок-схему и написать программу на языке C для задачи: Найти сумму делителей натурального числа.
Подходит ли прикрепленная блок схема к этому заданию?
include int sum( int n) { int summa = 0; for( int i = 1; i < n; i++ ) if(n % i == 0 ) summa += i; return summa; } int main () {printf("vvedite N="); scanf("%d",&n); printf("Summa deliteley chisla %d = %d", n, sum(n)); }
Var mas:array[1..1000, 1..1000] of integer; N,M,i,j,k:integer;
Begin Writeln('Введите размер матрицы N*M'); Write('N = '); readln(N); Write('M = '); readln(M);
if (M>1000) or (N>1000) or (M<1) or (N<1) then Writeln('Ошибка, указанные значения выходят за пределы матрицы') else Begin Writeln('Введите элементы матрицы');
k:=0; for i:=1 to N do for j:=1 to M do Begin readln(mas[i,j]); if (mas[i,j] mod 2 = 0) then k:=k+1; end;
Writeln(); Writeln('Исходная матрица');
for i:=1 to N do Begin for j:=1 to M do Begin Write(mas[i,j], ' ') end; Writeln(); end;
Writeln(); Writeln('Количество четных элементов = ',k); end;
// PascalABC.NET 3.3, сборка 1611 от 06.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var a:=ArrRandom(20,2,5);Write('Оценки за диктант: ');a.Println; Writeln('Двоек: ', a.Where(t-> t = 2).Count); Writeln('Троек: ', a.Where(t-> t = 3).Count); Writeln('Четверок: ', a.Where(t-> t = 4).Count); Writeln('Пятерок: ', a.Where(t-> t = 5).Count); Writeln('Средний за диктант: ', a.Average:0:2); end.
Пример: Оценки за диктант: 4 3 2 3 5 3 3 2 5 2 3 5 4 3 3 4 2 2 3 2 Двоек: 6 Троек: 8 Четверок: 3 Пятерок: 3 Средний за диктант: 3.15
uses crt;
Var mas:array[1..1000, 1..1000] of integer;
N,M,i,j,k:integer;
Begin
Writeln('Введите размер матрицы N*M');
Write('N = ');
readln(N);
Write('M = ');
readln(M);
if (M>1000) or (N>1000) or (M<1) or (N<1)
then
Writeln('Ошибка, указанные значения выходят за пределы матрицы') else
Begin
Writeln('Введите элементы матрицы');
k:=0;
for i:=1 to N do
for j:=1 to M do
Begin
readln(mas[i,j]);
if (mas[i,j] mod 2 = 0) then k:=k+1;
end;
Writeln();
Writeln('Исходная матрица');
for i:=1 to N do
Begin
for j:=1 to M do
Begin
Write(mas[i,j], ' ')
end;
Writeln();
end;
Writeln();
Writeln('Количество четных элементов = ',k);
end;
readln;
end.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(20,2,5);Write('Оценки за диктант: ');a.Println;
Writeln('Двоек: ', a.Where(t-> t = 2).Count);
Writeln('Троек: ', a.Where(t-> t = 3).Count);
Writeln('Четверок: ', a.Where(t-> t = 4).Count);
Writeln('Пятерок: ', a.Where(t-> t = 5).Count);
Writeln('Средний за диктант: ', a.Average:0:2);
end.
Пример:
Оценки за диктант: 4 3 2 3 5 3 3 2 5 2 3 5 4 3 3 4 2 2 3 2
Двоек: 6
Троек: 8
Четверок: 3
Пятерок: 3
Средний за диктант: 3.15