解题思路:首先题目给出了数,并要我们求第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 人评分
IP判断 (C++代码)浏览:728 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:744 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:643 |
最长单词 (C语言代码)浏览:1474 |
计算质因子 (C++代码)浏览:1824 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:632 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |
三角形 (C++代码)记忆化搜索浏览:1317 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1100 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:1968 |