1 条题解
-
0
大的不好推理,我们先从小的开始:
-
如果,显而易见是。
-
如果,显而易见是。
-
再加一个进去,我们可以看到把的情况带进去,变成了:。先满足前面的情况,多出来的最少是。
-
如果,那么最少是。
-
如果,仍然是。
顺着这个思路,我们发现,当时,最小为;当时,最小为;当时,最小为;当时,最小为。
不过:题目原文:...要求字符串输入,不过没关系,4的倍数只看最后两位,提出字符串的最后两位转int就行
然后代码就这么短辣!!!
#include <iostream> #include <algorithm> #include <math.h> using namespace std; string n; int ans[] = {0,1,1,0}; // 余0(4),1,2,3(用数组会简单不用写辣么多if int main() { cin >> n; if(n.size() == 1)//如果是一位数,就提不出两位力( { int num = int(n[0] - '0'); cout << ans[num % 4]; return 0; } int num = int(n[n.size() - 2] - '0') * 10 + int(n[n.size() - 1] - '0');//最后两位 cout << ans[num % 4]; return 0; }
-
信息
- ID
- 100
- 时间
- 5ms
- 内存
- 8MiB
- 难度
- 10
- 标签
- 递交数
- 4
- 已通过
- 2
- 上传者