问题:数列的算法或者程序 C的
你可以想一想二进制与三进制数 假设符合要求的第n个数为 sum{a(k)*3^k}k=0,1,...m 由条件,每个a(k)只可能是0或1 因此,可以把a(m)a(m-1)...a(0)看成是一个二进制的数。记这个数为s 可以看出s越大,sum{a(k)*3^k}k=0,1,...m也越大 而且s不同,sum{a(k)*3^k}k=0,1,...m也不同 因此s与sum{a(k)*3^k}k=0,1,...m一一对应 即数s的二进制对应第s个sum{a(k)*3^k}k=0,1,...m,因此s =n
所以, 要求第N个数,只需要把N写成二进制的形式,然后再求出sum 。。。 如果你对数列的算法或者程序 C的这个问题有好的意见或
建议,请留言
|