Где ошибка!!!!!
var b,N:integer;
var d:integer;
var g,h:real;
begin
readln(N);
b:=0;
for d:=1 to N do
begin
h:=d;
if sqrt(h) mod 1 =0
then b:=b+1;
end;
write(' ',b);
end.
Ответы
Ответ дал:
1
Ответ:
Объяснение:
ошибка тут
if sqrt(h) mod 1 =0
оператор mod - возвращает остаток от деления (a mod b), причём a,b - целые.
В Вашем случае sqrt(h) - вернёт не целое число, а вещественное. Поэтому возникает ошибка совместимости типов
если нужно узнать целое ли число получается после корня, можно так
a:=sqrt(h)
a-trunc(a)
тут находим разницу между числом а и целой частью числа а.
Похожие вопросы
1 год назад
1 год назад
2 года назад
2 года назад
8 лет назад
8 лет назад
9 лет назад