小yangs


私信TA

用户名:uq_10623531570

访问量:38

签 名:

等  级
排  名 51810
经  验 255
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:首先题目给出了数,并要我们求第10项开外的数,所以我们先把前四项附上值,也就是0次幂,1次幂,1次幂+1次幂,2次幂;

在设置几个变量i,j,t,一个数组num[1000],其中i是要求的数组的值,j是从数组下标0开始要加上的数,t是定位数字k的整次幂;

当j=t是,再把j变为0,这时,我们要算的是k的整次幂,再把t定位到此时的i;另外一种情况就是照常的加数即可。

即当j=t时,要j=0;num[i]=num[t]*k;t=i;i++;当其余情况,num[i]=num[t]+num[j];j++;i++;这样就好啦。


注意事项:

参考代码:

#include<stdio.h>

int main(){

    int k,n;

    scanf("%d %d",&k,&n);

    int num[1000];

    num[0]=1;num[1]=k;num[2]=num[0]+num[1];num[3]=k*k;

    int i,j,t;

    i=4;j=0;t=3;

    while(i<1000){

        if(j==t){

            j=0;

            num[i]=num[t]*k;

            t=i;

            i++;

        }else{

            num[i]=num[t]+num[j];

            j++;

            i++;

        }

    }

    printf("%d\n",num[n-1]);

    return 0;


 

0.0分

0 人评分

  评论区

  • «
  • »