解题思路:首先题目给出了数,并要我们求第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 人评分
C语言程序设计教程(第三版)课后习题9.3 (Java代码)浏览:1019 |
不容易系列2 (C语言代码)浏览:630 |
求圆的面积 (C语言代码)浏览:1354 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:625 |
sizeof的大作用 (C语言代码)浏览:1124 |
1054题解浏览:507 |
C语言程序设计教程(第三版)课后习题10.7 (用指针求解)浏览:1530 |
简单的a+b (C语言代码)浏览:435 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:587 |
A+B for Input-Output Practice (I) (C语言代码)浏览:595 |