Написать программу в паскале вводим число, проверить извлекается из него корень?

krohaaaaaaaa krohaaaaaaaa    2   01.08.2019 02:10    3

Ответы
sbelikova44 sbelikova44  03.10.2020 19:15
Var a,b:integer;
begin
write('a = ');
readln(a);
b:=round(sqrt(a));
if b*b=a
 then writeln('Yes, ',b,' * ',b,' = ',a)
 else writeln('No');
end.

Пример 1:
a = 289
Yes, 17 * 17 = 289

Пример 2:
a = 250
No
ПОКАЗАТЬ ОТВЕТЫ
kristina260303 kristina260303  03.10.2020 19:15
Гарантируется правильная работа программы при вводе натуральных чисел, не превышающих 9 223 372 030 926 249 001

var
  i,n,m:int64;
begin
  Write('Вводите: ');
  Read(m);
  n:=0;
  for i:=1 to m div 2 do
    begin
      n:=n+2*i-1;
      if (n>=m) then break
    end;
  if n=m then Writeln('Кв.корень(',m,')=',i)
  else Writeln('Кв.корень(',m,') не является целочисленным')
end.

Примеры работы программы

Вводите: 255240500157504
Кв.корень(255240500157504)=15976248

Вводите: 225
Кв.корень(225)=15

Вводите: 56846356333463
Кв.корень(56846356333463) не является целочисленным

Вводите: 9223372030926249001
Кв.корень(9223372030926249001)=3037000499
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика