求pascal问题 把整数分开,这两个数的和的平方有等于原数把整数3025从中剪开分为30和25两个数,此时再将这两数之和平方,(30+25)二次方=3025计算结果又等于原数.求所有符合这样条件的四位数
来源:学生作业帮助网 编辑:作业帮 时间:2024/10/02 19:15:41
求pascal问题 把整数分开,这两个数的和的平方有等于原数把整数3025从中剪开分为30和25两个数,此时再将这两数之和平方,(30+25)二次方=3025计算结果又等于原数.求所有符合这样条件的四位数
求pascal问题 把整数分开,这两个数的和的平方有等于原数
把整数3025从中剪开分为30和25两个数,此时再将这两数之和平方,(30+25)二次方=3025计算结果又等于原数.求所有符合这样条件的四位数
求pascal问题 把整数分开,这两个数的和的平方有等于原数把整数3025从中剪开分为30和25两个数,此时再将这两数之和平方,(30+25)二次方=3025计算结果又等于原数.求所有符合这样条件的四位数
write("a=")
readln(a) (输入一个四位数)
i=a div 100 (取前两位,即取商的整数)
b=a mod 100 (取余,后两位)
if ((i+b)*(i+b))=a
begin
writeln(a)
end
同时记数列中全部逆数的和包括一行从小到大的整数序列,每两个整数用空格就是枚举每个数然后看它后面有多少个数比它大嘛! 数据小的话很容易过的!
穷举……
一个个看呗
for i:=1000 to 9999 do
begin
{分开,是随便分还是从中间分?不知道,所以你自己打}
if sqr(a)+……
end;
var
i,a,b:longint;
begin
for i:=1000 to 9999 do begin
a:=i div 100;
b:=i mod 100;
if (a+b)*(a+b)=i then writeln(i);
end;
end.