您的位置:首页 > 其它

zoj 1115 Digital Roots

2011-04-30 16:10 295 查看
求各数位之和;

运用弃九法可以很快解出,但一开始没想到出入的会是字符串,WA了几次,

AC代码如下


#include"iostream"
#include"string"
using namespace std;
int main()
{
string str;

while(cin>>str,str!="0")
{
int n=0;
for(string::size_type i=0;i!=str.size();i++)
n+=str[i]-'0';
n%=9;
if(n==0) n=9;
cout<<n<<endl;
}
return 0;
}


[/code]
弃九法的扩展应用

k是n进制下的一个数,s是k各位数字之和,则存在k%(n-1)=s%(n-1);

利用同余的原理证明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: