C語言小題1
阿新 • • 發佈:2017-12-04
輸入數據為一個數組的下標
有一組特殊的數列a1,a2,...,其定義如下:a1=1,a2=2,...,a(n)=2*a(n-1)+a(n-2)。求第k個數項的值。
要求:第一行是測試數據的組數,後面跟著n行輸入,每組測試數據占1行,包括一個正整數k(1<=k<1000000)。
#include<stdio.h> #include<string.h> long func2(int n) { float a[1000000]={0}; a[1]=1; a[2]=2; int i=0; for(i=3;i<=n;i++) a[i]=a[i-1]*2+a[i-2]; return a[n]; } void func1(int a[],int num) { int i=0,m=0; for(i=0;i<num;i++) { m=func2(a[i]); printf("%d.\n",m%32767); } } int main() { int arr[100]={0}; int n=0; printf("Please enter a number:"); scanf("%d",&n); int i=0; for(i=0;i<n;i++) { scanf("%d",&arr[i]); if(arr[i]<2&&arr[i]==2) return 0; } func1(arr,n); return 0; }
C語言小題1