回 帖 发 新 帖 刷新版面

主题:[原创]都近来看看!很有趣!

rem 有这样一个题目! 
rem  一个数字!个位上是2!如果把个位的数字放在最高位的前边!那么产生的新数字   
rem     将是原数的2倍!如:
     13842这个数字!这个题目就是说!如果把个位上的2放在1的前边!那么新数
rem   也就是21384将会是原数的2倍!但是它不是!所以这个数是错误的!
  
rem  我的答案是这样的!大家看下:
   x=2:z=2:w=0:y=0
   FOR i=1 to 20    ‘ (我感觉数字是在20位以内)
       y= x * 2 + w   ‘(我用的逆推的方法!既然是原数的2倍!那个位是2,十位一定是4!百位是8...)
       if y >=10 then w = int(y/10),y= y mod 10  
y = 10^i*y :z = z+y :x=y
if z *2 = int(z /10)+2*10(i+1)  then print z
next 
end
'  我的想法就是!
                  个 十 百 千 万 十W 百W 千W 亿
           原数   2  4  8  6  3   7   4   9   8  .......1
           新数   4  8  6  3  7   4   9   8   7  .......2       
大家看那里错了呢?
是语句吗?

回复列表 (共6个回复)

沙发

最小的一个数是:
105263157894736842
210526315789473684
具体原因等下告诉你.

板凳

严格来说,可以是一个循环数,由第一个数的个位数决定.

defint a-z
for i=1 to 9
  a = i
  do
    x$ = chr$( 48 + a ) + x$
    b = a*2 + b
    a = b mod 10
    b = b \ 10
    y$ = chr$( 48 + a ) + y$
  loop until (b = 0)and(a = i)
  print i,x$,y$
next

3 楼

你的想法没错,只是数据范围不够而已.

4 楼

真不好意思!
我之所以只打20分是因为我是明白了你的意思
可是我的同学却都不明白!
你可以用FOR……NEXT语句+++IF等易懂的语句解释下吗?
我们的同学只是熟悉这些简单的而已
而你的知识....
谢谢了。

5 楼

上面的还不够简单?
不会吧?

那就慢慢粗略的把书看完了再想这道题吧.
语句很简单,
计算方法也很简单,
看明白了想明白了就简单了.

6 楼

好吧
那就回去好好给朋友解释下!
这下凑够30分了
~~

我来回复

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