Натуральне число m називається рівним дільником числа n, якщо частка і остача від ділення n та m рівні. За введеним числом n знайти кількість його рівних дільників (циклом) інформатика
Код Pascal1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 const n=100; type arr=array[1..n] of integer; var a:arr; skv:real; i,k,l:integer; procedure print(s:string;a:arr;l:integer); var i:integer; begin writeln(s); write('['); for i:=1 to l-1 do write(a[i],', '); writeln(a[l],']'); end; procedure sort(var a:arr;l:integer); var i,j,t:integer; begin for i:=1 to l-1 do for j:=i to l do if a[j]<a[i] then begin t:=a[j]; a[j]:=a[i]; a[i]:=t; end; end; begin repeat write('Количество элементов массива:'); readln(k); until (k>0) and (k<101); write('Введите массив:'); for i:=1 to k do repeat write('a[',i,']='); readln(a[i]); until (a[i]>-11) and (a[i]<11); print('Оригинальный массив:',a,k); l:=0;skv:=0.0; for i:=1 to k do if a[i]<0 then begin a[i]:=sqr(a[i]); skv:=skv+a[i]; l:=l+1; end else a[i]:=i; print('Полученный массив:',a,k); sort(a,k); print('отсортированный массив:',a,k); writeln('Среднее арифметическое квадратов отрицательных чисел:',skv/l:0:4); readln; end.
Тут есть несколько вариантов, как это можно записать:
Если номера месяцев не превысят 12, то есть имеются ввиду только месяцы одного года, то вот так:
Var N:integer; Begin WriteLn('Введите номер месяца'); ReadLn(N); if (N = 12)or(N = 1)or(N = 2) then WriteLn('Зима') //если N = 12, 1 или 2, то выводим 'Зима', иначе идём по следующей ветке if, проверяем следующее условие else if (N = 3)or(N = 4)or(N = 5) then WriteLn('Весна') // тут точно также N = 3, 4 или 5, если нет - то проверяем следующее условие else if (N = 6)or(N = 7)or(N = 8) then WriteLn('Лето') else if (N = 9)or(N = 10)or(N = 11) then WriteLn('Осень') End.
Если же номер месяца может превысить 12, то перед проверкой нужно найти остаток от деления этого числа на количество месяцев, то есть на 12. При этом остаток от деления 12 на 12 = 0.
Var N:integer; Begin WriteLn('Введите номер месяца'); ReadLn(N); N:= N mod 12; if (N = 0)or(N = 1)or(N = 2) then WriteLn('Зима') else if (N = 3)or(N = 4)or(N = 5) then WriteLn('Весна') else if (N = 6)or(N = 7)or(N = 8) then WriteLn('Лето') else if (N = 9)or(N = 10)or(N = 11) then WriteLn('Осень') End.
Эти же самые условия можно записать иначе: if (N>=0)and(N<=2) then или: if (N>=0)and(N<3) then
Если номера месяцев не превысят 12, то есть имеются ввиду только месяцы одного года, то вот так:
Var
N:integer;
Begin
WriteLn('Введите номер месяца');
ReadLn(N);
if (N = 12)or(N = 1)or(N = 2) then WriteLn('Зима') //если N = 12, 1 или 2, то выводим 'Зима', иначе идём по следующей ветке if, проверяем следующее условие
else if (N = 3)or(N = 4)or(N = 5) then WriteLn('Весна') // тут точно также N = 3, 4 или 5, если нет - то проверяем следующее условие
else if (N = 6)or(N = 7)or(N = 8) then WriteLn('Лето')
else if (N = 9)or(N = 10)or(N = 11) then WriteLn('Осень')
End.
Если же номер месяца может превысить 12, то перед проверкой нужно найти остаток от деления этого числа на количество месяцев, то есть на 12. При этом остаток от деления 12 на 12 = 0.
Var
N:integer;
Begin
WriteLn('Введите номер месяца');
ReadLn(N);
N:= N mod 12;
if (N = 0)or(N = 1)or(N = 2) then WriteLn('Зима')
else if (N = 3)or(N = 4)or(N = 5) then WriteLn('Весна')
else if (N = 6)or(N = 7)or(N = 8) then WriteLn('Лето')
else if (N = 9)or(N = 10)or(N = 11) then WriteLn('Осень')
End.
Эти же самые условия можно записать иначе:
if (N>=0)and(N<=2) then
или:
if (N>=0)and(N<3) then