讨论 / T4数列二进制解法~貌似最短~哈哈
pk572820634 2013-11-06 03:39:58
点我顶贴 收藏 删除
var

k,n:longint;

ans,num:longint;

begin

readln(k,n);

num:=1;

while n>0 do

begin

ans:=ans+num*(n mod 2);

n:=n div 2;

num:=num*k;

end;

writeln(ans);

end.

最短FP题解~还是自己想的~虽然我不是大犇~

其实很简单:k^n>0(n∈N);

题目的意思就是第k项的存在与不存在的组合(0:不存在;1:存在);

题目的意思:3的:0次幂1,1次幂1,0次幂、1次幂1,2次幂1……

翻译成二进制就是:1↑, ↑10, ↑11, ↑100, 101,110,111,1000……

就是这样~n也可以翻译成为2进制数,以各次幂存在于不存在求和,输出就是了~

另:第九个点必须为longint才能过,int64不可以........

#1 JangJingHang@2014-02-09 04:23:30
回复 删除
......没看懂
#2 zh57184440@2014-02-17 20:29:49
回复 删除
你绝对是大牛,看到问题的本质!牛!
查看更多回复
提交回复