Re: [请益] 请教一个小小的问题

楼主: Neisseria (Neisseria)   2014-01-28 09:19:17
※ 引述《dagood (想回高雄了~~)》之铭言:
: 不好意思 我是使用maple套装软件
不好意思 因为 maple 我不熟
不知道 maple 是否可符合以下运算
: 给定前三个数 2,0,1
: 之后的每一个数都是前三个数相加除以10的余数
: 且我要设定i 到重复出现2,0,1 停止
: a[1]:=2
: a[2]:=0
: a[3]:=1
: for i from 1 to 100 do
: a[i+3]:=modp(a[i]+a[i+1]+a[i+2],10)
: end do;
: 我想要把这个循环的 from 1 to 100
: 改到 from 1 到 2,0,1 连续三数出现为止 我的while要怎么写呢
: 或是有其他写法...thx
这里是用 Python 因为 Python 支援大数运算
想看完整的程式码请到 Pastebin http://pastebin.com/Jc2NiAz4
# while 里的条件判断式比较长 这里分开在写在一个函数里
def is_defined_reminder(array, i):
return array[i - 2] % 10 == 2 and \
array[i - 1] % 10 == 0 and \
array[i] % 10 == 1
# 不符条件时 就将 array 加入一项 然后继续跑 while
while(not is_defined_reminder(array, i)):
array.append(array[i - 2] + array[i - 1] + array[i])
i += 1
# 印出 i(index) 只是想看循环跑了几次 可以不用印 i
print i, array[i]

Links booklink

Contact Us: admin [ a t ] ucptt.com