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

ПОМОГИТЕ РЕШИТЬ!!!! ОЧЕНЬ НАДО, ПОМОГИТЕ!!! ПРОШУ!!! 1.найти все четырехзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27. 2.найти количество делителей натурального числа. Сколько из них четных?
Гость
Ответ(ы) на вопрос:
Гость
Решение даю самое банальное и без разбора. Если потребуется - напишешь сюда, мол, нужен разбор или более оригинальное решение. Программы работают под 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.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы