回 帖 发 新 帖 刷新版面

主题:有个笨蛋

你们来编一道程序:
有一些数,把它们撕成两半,个位和十位一半,百位和千为一半,把它们加起来的二次方等于撕之前的数,求四位数内所有这样的数
如:
2025分为20和25
在加起来为20+25=55
55的二次方为55*55=2025
Matodied说这道题目做不出来

回复列表 (共6个回复)

沙发

敢说我是笨蛋![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并且符合上面特征的所有四位数。

板凳

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 楼

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 楼

帮我看看这个哪里错了?

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 楼

应该把倒数第三行的改为:
if (a+b)^2=b then print i



6 楼

cls
for i=1000 to 9999
a=i\100+i mod 100
if a*a=i then ?i;
next i
end

我来回复

您尚未登录,请登录后再回复。点此登录或注册