主题:有个笨蛋
a292982250
[专家分:40] 发布于 2007-06-13 13:26:00
你们来编一道程序:
有一些数,把它们撕成两半,个位和十位一半,百位和千为一半,把它们加起来的二次方等于撕之前的数,求四位数内所有这样的数
如:
2025分为20和25
在加起来为20+25=55
55的二次方为55*55=2025
Matodied说这道题目做不出来
回复列表 (共6个回复)
沙发
Matodied [专家分:7560] 发布于 2007-06-13 21:11:00
敢说我是笨蛋![em9][em9][em9][em9][em9]
谁说这题做不出来了?我不是已经回了吗?
[color=00FF00]同样的帖子不要重复发,以免被删。[/color]
我记得有一道类似的题目:
四位数中有一些数有这样的特征:前两位数字的和等于后两位数字的和,而且前两位数字的平方和等于后两位数字。
比如:
3425:3+4=2+5,3*3+4*4=25
又比如:
4765:4+7=6+5,4*4+7*7=65
现要求找出各位数字都不是0并且符合上面特征的所有四位数。
板凳
huqing [专家分:30] 发布于 2007-06-26 13:14:00
cls
for i=1000 to 9999
x=i
a=x mod 100
b=x\100
c=a+b
if c*c=x then ptint i
next i
end
结果:2025 3025 9801
3 楼
V2战警2 [专家分:390] 发布于 2007-07-28 17:42:00
dim a(2)
for i=1000 to 9999
a(1)=i mod 100
a(2)=i\100
if (a(1)+a(2))*(a(1)+a(2))=i then
print i
end if
next i
end
4 楼
yaoyusheng [专家分:460] 发布于 2007-07-30 00:35:00
帮我看看这个哪里错了?
for i=1000 to 9999
i$=str$(i)
a=val(mid$(i$,1,2))
b=val(mid$(i$,3,2))
i=val(i$)
if (a+b)^2=i then print i
next i
end
5 楼
我的电脑 [专家分:990] 发布于 2007-09-27 14:26:00
应该把倒数第三行的改为:
if (a+b)^2=b then print i
6 楼
QB小猪 [专家分:1200] 发布于 2007-09-27 17:47:00
cls
for i=1000 to 9999
a=i\100+i mod 100
if a*a=i then ?i;
next i
end
我来回复