Parity check
Time Limit: 2000MS Memory Limit: 524288KB
Submit Statistic
Problem Description
Fascinated with the computer games, Gabriel even forgets to study. Now she needs to finish her homework, and there is an easy problem:
f(n)=
She is required to calculate f(n) mod 2 for each given n. Can you help her?
Input
Multiple test cases. Each test case is an integer n(0≤n≤) in a single line.
Output
For each test case, output the answer of f(n)mod2.
Example Input
2
Example Output
1
Hint
Author
“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
找规律, 会发现%2, 每三位 就是0 1 1 因此 看是 %3 余几即可 但又因为是10^1000 因此是个大数 ,大数取模处理 就行
#include <bits/stdc++.h>
using namespace std;
int main()
{
char m[12111];
while(cin>>m)
{
int len = strlen(m);
int sum = 0;
for(int i=0;i<len;i++)//大数取模,核心
{
sum = (sum + m[i] - '0') % 3;
}
if(sum==1||sum==2)
cout<<1<<endl;
else
cout<<0<<endl;
}
return 0;
}