题意:给定一个数i,判断第i个斐波那契数是偶数还是奇数。
思路:推理可得斐波那契数列为偶,奇,奇,偶,奇,奇...因此,直接对i取模并判断即可。(主要是大数取模)
#include<stdio.h> #include<string.h> //根据推理,斐波那契数列1个偶数紧跟2个奇数,因此直接取模即可,注意数据很大。 int mod(char str[],int num)//大数取模操作 { int number[100000]; for(int i=0;i<strlen(str);i++) number[i]=str[i]-'0'; int remainder=0; for(int i=0;i<strlen(str);i++) { remainder=((long long)remainder*10+number[i])%num; } return remainder; } int main() { int T,t; char a[100000+10]; scanf("%d",&T); while(T--) { scanf("%s",a); int temp=mod(a,3); if(temp==0) printf("YES\n"); else printf("NO\n"); } return 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。