1 条题解

  • 0
    @ 2025-4-7 21:38:00

    C++ :

    #include <iostream>  
    #include <cstdio>  
    using namespace std;  
    const int N=1000+5;  
    int a[N]; 
    int main()  
    {  
        int n,i,len;   
        int now,k;   //k^i  
        while(cin>>k>>n){  
            len=0;  
            now=1;  
            while(len<n){  
                int tmp=len;  
                a[len++]=now;  
                for(i=0;i<tmp&&len<n;i++)  
                    a[len++]=now+a[i];          
                now*=k;  
            }  
            cout<<a[n-1]<<endl;  
        }  
        return 0;  
    }  
    

    Pascal :

    var
       k,n,i,j,m,t,ans:longint;
       a:array[1..1000]of longint;
    
     begin
     //assign(input,'sequence.in');reset(input);
    // assign(output,'sequence.out');rewrite(output);
      readln(k,n);
      fillchar(a,sizeof(a),0);
      i:=0;
      while n<>0 do
       begin
        inc(i);
        a[i]:=n mod 2;
        n:=n div 2;
       end;
      ans:=0;
      for j:=1 to i do
       begin
        t:=a[j];
        for m:=1to j-1 do
         t:=t*k;
        inc(ans,t);
       end;
      writeln(ans);
    // close(input);close(output);
     end.
    
    
    • 1

    信息

    ID
    1781
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者