您的位置:首页 > 其它

数学专项number_theory:UVa 10162

2013-06-29 22:31 671 查看
不难发现每十个数的和的个位数为7,这样结果就只与数的最后两位有关了。然后,个位数对结果的影响以十位数的奇偶分两种情况。这样,结果就出来了。

#include <iostream>
#include <cstdio>
#include <string>
using namespace std;
int a1[]={0,1,5,2,8,3,9,2,8,7};
int a2[]={0,1,7,0,6,1,7,4,8,7};
int main()
{
string s;
while(cin>>s)
{
if(s.size()==1&&s[0]=='0') break;
if(s.size()==1)
{
cout<<a1[s[0]-'0']<<endl;continue;
}
int b=s[s.size()-2]-'0',c=s[s.size()-1]-'0';
cout<<(7*b+(b%2==0?a1[c]:a2[c]))%10<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: