这题目是队友做的。也存个底。
http://acm.timus.ru/problem.aspx?space=1&num=1180 timus1180,基本上就是找出规律。就搞出来了。 有点奇妙就是:n位数对3取余,为什么可以转换成n位数各个位相加后再对3取余,结果是一样的。难道数论有这样的东西。提到数学就头痛。 #include<iostream> #include<cstring> using namespace std; int main() { char a[252]; int l,i,k; while(cin>>a) { k=0; l=strlen(a); for(i=l;i;i--) { k+=a -'0'; } k%=3; if(k==0) cout<<2<<endl; else{ cout<<1<<endl; if(k==1) cout<<1<<endl; else cout<<2<<endl; } } return 0; } |
timus1180
最新推荐文章于 2016-07-30 10:27:41 发布