|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- #include<stdio.h>
- int fblq(int n)
- {
- int e;int a[n];
- int i;
- if(n==1) e=0;
- else if(n==2) e=0;
- else if(n>=3)
- {
-
- for(i=2;i<n;i++){
- a[0]=1;
- a[1]=1;
- a[i]=a[i-1]+a[i-2];
- }
- //printf("%d",a[n-1]);
- for(i=2;i<=a[n-1];i++)
- {
- if(a[n-1]%i==0) {
- e=0;
- break;
- }
- else e=1;
- }
- }
- return e;
-
- }
- int main()
- {
- int a;scanf("%d",&a);
- if(fblq(a)==1) printf("yes");
- else if (fblq(a)==0) printf("no");
- return 0;
- }
复制代码
插入了printf(" %d ",a[n-1]);发现a[n-1]的值不对,这是为什么。
本帖最后由 jackz007 于 2022-11-15 15:35 编辑
printf() 打印的数值不对?我告诉你,10000000000000000000000000% 的原因是你自己的数据组织有问题!!!
- #include<stdio.h>
- int fblq(int n)
- {
- int a[n] , e , i , a[n] ;
- for(e = 0 , a[0] = a[1] = 1 , i = 2 ; i < n ; i ++) a[i] = a[i - 1] + a[i - 2] ;
- printf("a[n - 1] = %d\n" , a[n - 1]) ;
- if(n > 2) {
- for(i = 2 ; i < a[n - 1] ; i ++) if(! (a[n - 1] % i)) break ;
- if(i == a[n - 1]) e = 1 ;
- }
- return e ;
- }
- int main()
- {
- int a ;
- scanf("%d" , & a) ;
- if(fblq(a)) printf("yes\n") ;
- else printf("no\n") ;
- }
复制代码
|
|