解题思路:首先题目给出了数,并要我们求第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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论