Tin học Tìm số chính phương

Duyên 13012005

Học sinh
Thành viên
17 Tháng chín 2018
94
21
26
20
Quảng Nam
Thcs Hoàng Văn Thụ

TTree

Học sinh
Thành viên
20 Tháng mười hai 2018
25
7
21
21
Sóc Trăng
PT DTNT THCS Kế Sách
mình có trả lời post trước của bạn rồi nè .-.
var i,n:longint; s:string;
begin
for i:=1000 to 9999 do
if (frac(sqrt(i)))=0 then
begin
str(i,s); str(i,s);
if (s[1]=s[2]) and (s[3]=s[4]) then
begin n:=i; break; end;
end;
writeln(n);
readln;
end.
 
  • Like
Reactions: Duyên 13012005

Duyên 13012005

Học sinh
Thành viên
17 Tháng chín 2018
94
21
26
20
Quảng Nam
Thcs Hoàng Văn Thụ
A
mình có trả lời post trước của bạn rồi nè .-.
var i,n:longint; s:string;
begin
for i:=1000 to 9999 do
if (frac(sqrt(i)))=0 then
begin
str(i,s); str(i,s);
if (s[1]=s[2]) and (s[3]=s[4]) then
begin n:=i; break; end;
end;
writeln(n);
readln;
end.
À mình nhớ r bài này bạn giải ở post trước mà mình quên
 

lehongli

Học sinh chăm học
Thành viên
22 Tháng mười hai 2013
186
134
61
mình có trả lời post trước của bạn rồi nè .-.
var i,n:longint; s:string;
begin
for i:=1000 to 9999 do
if (frac(sqrt(i)))=0 then
begin
str(i,s); str(i,s);
if (s[1]=s[2]) and (s[3]=s[4]) then
begin n:=i; break; end;
end;
writeln(n);
readln;
end.
Thay vì chạy từ 1000-9999 mình sẽ chạy từ 10 đến 99 thôi là cùng hoặc tốt hơn nếu bạn biết số gần nhất của nó, chạy 1000 nhiều quá
 

TTree

Học sinh
Thành viên
20 Tháng mười hai 2018
25
7
21
21
Sóc Trăng
PT DTNT THCS Kế Sách
Không cần string luôn nhaaa :V.
var i,j:longint;
begin
for i:=10 to 99 do
begin
j:=(i div 10)*1100+(i mod 10)*11;
if frac(sqrt(j))=0 then write(j,' ');
j:=0;
end;
readln;
end.
 
Top Bottom