1) var
a,b,i,n:integer;
begin
n:=1;
readln(a);
readln(b);
for i:=a to b do
n:=n*i;
writeln(n);
end.
2)
var
n,s:integer;
begin
read(n);
s:=0;
repeat
s:=s+(n mod 10);
n:=n div 10;
until n=0;
writeln (s);
end.
3)
var
n,k,i:integer;
begin
read(n);
for i:= 100 to 999 do begin
if (i div 100)*((i div 10) mod 10)*(i mod 10)=n then
k:=k+1;
end;
writeln (k);
end.
В цикле посчитать количество чисел при делении на которые не остаётся остатка от деления. Т.е. деление нацело происходит.
#include <stdio.h>
void main(void) {
int qty=0;
int x = 30000;
for (int i=1; i<=x; i++) { //Организовываем цикл от 1 до значения числа x
// Если x делится без остатка, значит число - натуральный <span>делитель.</span>
if (x % i==0)
qty++;
}
printf("количество натуральных делителей %i", qty);
}
Ответ под номерам Б, я так считаю
Защищённые ПК
Промышленные ПК
Тихий ПК
Компактные ПК
Немного не понял вопрос
label ra,rb;
var a,b,c: integer;
begin
write('Введите сторону a: ');
readln(a);
ra: write('Введите сторону b: ');
readln(b);
if b>a then
begin
rb: write('Введите сторону c: ');
readln(c);
if c>b then begin
if sqr(c)=sqr(a)+sqr(b) then writeln('Этот треугольник - прямоугольный') else writeln('Этот треугольник - не прямоугольный');
end else begin writeln('Введите число больше, чем ',b); goto rb; end;
end else begin writeln('Введите число больше, чем ',a); goto ra; end;
end.