ПОМОГИТЕ РЕШИТЬ!!!! ОЧЕНЬ НАДО, ПОМОГИТЕ!!! ПРОШУ!!! 1.найти все четырехзначные числа, у...

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

ПОМОГИТЕ РЕШИТЬ!!!! ОЧЕНЬ НАДО, ПОМОГИТЕ!!! ПРОШУ!!!
1.найти все четырехзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27.
2.найти количество делителей натурального числа. Сколько из них четных?


Информатика (12 баллов) | 25 просмотров
0

Программой решить?

0

Да

0

На Паскале?

0

Да

Дан 1 ответ
0 голосов

Решение даю самое банальное и без разбора. Если потребуется - напишешь сюда, мол, нужен разбор или более оригинальное решение. Программы работают под PascalABC.Net последнего обновления, но написаны вроде как под любые диалекты.
1.

program Task1;var ch:word;beginfor ch:=1000 to 9999 dobeginif (ch div 1000+ch mod 10)=(ch mod 1000 div 100+ch mod 100 div 10) thenif ((ch mod 6)=0) and ((ch mod 27)=0) then writeln(ch);end;end.
2.
program Task2;var ch,i,delitelej,chetnyh:word;beginread(ch);for i:=1 to ch do//на самом деле достаточно до trunc(sqrt(ch)), но тогда ещё несколько строк для отдельного разбора i=ch - он тоже делитель. при этом ch<>1beginif (ch mod i)=0 then begin delitelej:=delitelej+1;if (i mod 2)=0 then chetnyh:=chetnyh+1; end;end;end.

Оптимизированные под последний PascalABC.Net варианты тех же решений (отличаются только записью и совместимостью):
1.
beginfor var ch:=1000 to 9999 dobeginif (ch div 1000+ch mod 10)=(ch mod 1000 div 100+ch mod 100 div 10) thenif ((ch mod 6)=0) and ((ch mod 27)=0) then writeln(ch);end;end.

2.
beginvar ch:word;read(ch);var delitelej,chetnyh:word;for var i:=1 to ch do//на самом деле достаточно до trunc(sqrt(ch)), но тогда ещё несколько строк для отдельного разбора i=ch - он тоже делитель. при этом ch<>1beginif (ch mod i)=0 then begin delitelej+=1;if (i mod 2)=0 then chetnyh+=1; end;end;end.

(1.5k баллов)