Дано трехзначное число. Составить программу, определяющую есть ли среди цифр числа
одинаковые. паскаль 8 класс
Подсказка: Для решения данной задачи необходимо сначала найти все цифры трехзначного числа X по
отдельности.
Например,
запись нахождения 1 цифры числа может быть такой:
C1:=X div 100 (если X=458, то в С1 запишется цифра 4)
запись нахождения 3 цифры числа может быть такой:
C3:=X mod 10 (если X=458, то в С3 запишется цифра 8)
После нахождения всех цифр числа по отдельности необходимо сравнить их, используя условный оператор.
const
N = 12;
var
a: array[1..N] of integer;
c, d, k, count, sum, i: integer;
begin
writeln('Введите промежуток: '); readln(c, d);
writeln('Введите k: '); readln(k);
for i := 1 to N do begin
a[i] := random(30);
write(a[i], ' ');
if(a[i] > 0) and (a[i] mod k = 0) then inc(count);
end;
for i := c to d do begin
sum := sum + a[i];
end;
writeln;
writeln('Сумма элементов на промежутке [', c,';', d,'] : ', sum);
if(count <> 0) then writeln('Положительных элементов кратных ', k, ' : ', count);
end.
Уже писал, но попал в баг(
Так вот. В паскале это будет так:
1)var a,b,c:integer;
begin
readln(a,b);
if a div 2 =0 then c:=(a+b)*(a+b)*(a+b);
else c:=a*a*a+b*b*b;
writeln(c);
end.
2)var a,b,c:integer;
d:real;
begin
readln(a,b,c);
if (a<0) or (b<0) or (c<0) then d:=abs(a+b+c)
else d:=sqrt(a+b+c);
writeln(d:0:2);
end.
3)var a,b,c:integer;
begin
readln(a,b,c);
if (a*b*c<0) then begin a:=a*a; b:=b*b; c:=c*c; end
else begin a:=abs(a); b:=abs(b); c:=abs(c); end;
writeln( a, ' ', b, ' ', c);
end.
Вот так вот.