2017年ACM第八届山东省赛I题(|2017年ACM第八届山东省赛I题: Parity check(判断 第n项斐波那契数列奇偶性))
I: Parity check
题目描述 Fascinated with the computer games, Gabriel even forgets to study. Now she needs to finish her homework, and there is an easy problem:
文章图片
She is required to calculate f(n) mod 2 for each given n. Can you help her?
输入 Multiple test cases. Each test case is an integer n(0≤n≤101000) in a single line.
输出 For each test case, output the answer of f(n)mod2.
样例输入
2
样例输出
1
题意:第一眼看过去以为是斐波那契数列(矩阵快速幂),仔细一看才知道是 斐波那契数列求奇偶(mod%2)
思路:打表 斐波那契数列 前几项:
前 22 项
0:0
1:1
2:1
3:2
4:3
5:5
6:8
7:13
8:21
9:34
10:55
11:89
12:144
13:233
14:377
15:610
16:987
17:1597
18:2584
19:4181
20:6765
21:10946
编号为 n 的 斐波那契数列 只要 n%3==0 fac(n)%3 == 0
否则 fac(n) %3 == 1 ;
然后就是 数字 n 比较长 需要 字符串输入 然后 char 转 int 同时 对 3 取模
#include#include int main(){ int n ; char str[2000] ; while(~scanf(" %s" , str)){ int len = strlen(str) ; int sum =0; for(int i=0 ; i
或者 (n 能被三整除 则 n 的各个数字和相加也能被三整除)
#include #include #includeusing namespace std; char str[1005]; int main() { int n, i, j, k, sum; while (scanf("%s", str) != EOF) { sum = 0; for (int i = 0; str[i] != '\0'; i++) sum += (str[i] - '0'); if (sum % 3 == 0) printf("0\n"); else printf("1\n"); } return 0; }
【2017年ACM第八届山东省赛I题(|2017年ACM第八届山东省赛I题: Parity check(判断 第n项斐波那契数列奇偶性))】转载于:https://www.cnblogs.com/yi-ye-zhi-qiu/p/7631654.html
推荐阅读
- 第6.2章(设置属性)
- 2018-02-06第三天|2018-02-06第三天 不能再了,反思到位就差改变
- 第三节|第三节 快乐和幸福(12)
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- android第三方框架(五)ButterKnife
- 开学第一天(下)
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- 2018年11月19日|2018年11月19日 星期一 亲子日记第144篇
- 第326天
- 跌跌撞撞奔向你|跌跌撞撞奔向你 第四章(你补英语,我补物理)