Из множества целых чисел 1..20 выделить: множество чисел, делящихся на 6 без остатка; множество чисел делящихся без остатка на 2 или на 3. Полученные - Pascal
Формулировка задачи:
Решение задачи: «Из множества целых чисел 1..20 выделить: множество чисел, делящихся на 6 без остатка; множество чисел делящихся без остатка на 2 или на 3. Полученные»
const f1='делится на '; f2='не делится на '; var a:array[1..3]of integer; c:char; k,s,sc,sn,i,j,z,n,m:longint; begin assign(input,'delimost.in');reset(input); assign(output,'delimost.out');rewrite(output); while not(eoln) do begin inc(z); read(c); n:=ord(c)-48; inc(s,n); if odd(z) then inc(sn,n)else inc(sc,n); a[1]:=a[2]; a[2]:=a[3]; a[3]:=n; end; if (a[3] mod 2)=0 then writeln(f1,2)else writeln(f2,2); if (s mod 3)=0 then writeln(f1,3)else writeln(f2,3); k:=a[2]*10+a[3]; if (k mod 4)=0 then writeln(f1,4)else writeln(f2,4); if (a[3]=0)or(a[3]=5) then writeln(f1,5)else writeln(f2,5); if ((a[3] mod 2)=0)and((s mod 3)=0) then writeln(f1,6)else writeln(f2,6); k:=a[1]*100+a[2]*10+a[3]; if (k mod 8)=0 then writeln(f1,8)else writeln(f2,8); if (s mod 9)=0 then writeln(f1,9)else writeln(f2,9); if a[3]=0 then writeln(f1,10)else writeln(f2,10); if abs(sn-sc)mod 11=0 then writeln(f1,11)else writeln(f2,11); k:=a[2]*10+a[3]; if ((s mod 3)=0)and((k mod 4)=0) then writeln(f1,12)else writeln(f2,12); end.
Объяснение кода листинга программы
const f1='делится на '; f2='не делится на '; var a:array[1..3]of integer; c:char; k,s,sc,sn,i,j,z,n,m:longint; begin assign(input,'delimost.in');reset(input); assign(output,'delimost.out');rewrite(output); while not(eoln) do begin inc(z); read(c); n:=ord(c)-48; inc(s,n); if odd(z) then inc(sn,n)else inc(sc,n); a[1]:=a[2]; a[2]:=a[3]; a[3]:=n; end; if (a[3] mod 2)=0 then writeln(f1,2)else writeln(f2,2); if (s mod 3)=0 then writeln(f1,3)else writeln(f2,3); k:=a[2]10+a[3]; if (k mod 4)=0 then writeln(f1,4)else writeln(f2,4); if (a[3]=0)or(a[3]=5) then writeln(f1,5)else writeln(f2,5); if ((a[3] mod 2)=0)and((s mod 3)=0) then writeln(f1,6)else writeln(f2,6); k:=a[1]100+a[2]10+a[3]; if (k mod 8)=0 then writeln(f1,8)else writeln(f2,8); if (s mod 9)=0 then writeln(f1,9)else writeln(f2,9); if a[3]=0 then writeln(f1,10)else writeln(f2,10); if abs(sn-sc)mod 11=0 then writeln(f1,11)else writeln(f2,11); k:=a[2]10+a[3]; if ((s mod 3)=0)and((k mod 4)=0) then writeln(f1,12)else writeln(f2,12); end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д