讨论 / jjjjjjjjjjjjjjjjj
秋天点点 2008-11-22 08:22:00
点我顶贴 收藏 删除
program lx;

var a:array[0..5000] of integer;

s,i,j,m,n,k,t:integer;

max:int64;

function pf(n,i:integer):longint;

var j:integer;

begin

pf:=1;

for j:=1 to i do

pf:=pf*n;

end;

begin

read(t,n);

s:=0;

repeat

s:=s+1;

a[s-1]:=n mod 2;

n:=n div 2;

until t<=0;

for i:=0 to s-1 do

if a[i]=1 then max:=max+pf(t,i);

writeln(max);

end.

我的程序自己测是正确的,在这上边就不对了

都来说说是什么错误 !!!

真牛

#1 飞雪天涯@2008-11-22 08:22:00
回复 删除
#include<iostream>

using namespace std;

int main (void)

{

int result=0,k,n,premire=1;

cin>>k>>n;

while (n){

result+=premire*(n%2);

premire*=k;

n/=2;

}

cout<<result;

//while(1);

return 0;

}

查看更多回复
提交回复