阅读背景:

1344. 数列(根据规律生成数列)

来源:互联网 
/* 1344. 数列(根据规律生成数列)
  规律: 以k的方幂为分割点,分割点之间的数字等于
          = k^i(i次幂) + a[x] (x为1 -- k次幂分割点的前一位squreIndex-1) 
*/
#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;

int main(){
    
    int a[1001];
    int k, N;
    
    
    while(cin >> k >> N){
       int num = 0;
       int i=0;
       while(num < N){
           long long temp = (long long)pow((double)k, i);
           num++;
           a[num] = temp;
           if(num == N)
           {
              cout << temp << endl;
              break;    
           }
           int squreIndex = num;
           for(int k=1; k<=squreIndex-1; k++){
              temp = a[squreIndex] + a[k];
              num++;
              a[num] = temp;
              if(num == N){
                 cout << temp << endl;
                 break;       
              }     
           } 
           i++;
       }       
    }
    system("pause");
    return 0;
}/* 1344. 数列(根据规律生成数列)
  规律: 以k的方幂为分割点,分割点之间的数字等



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: