码迷,mamicode.com
首页 > 其他好文 > 详细

Hdu-1163 Eddy's digital Roots(九余数定理)

时间:2017-01-21 00:39:49      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:div   roo   digital   不能   while   相加   快速   快速幂   code   

题意:对于一个数,只要它不是单个数,就把它各位的数相加,直到成为单个数。

九余数定理

一个数对九取余后的结果称为九余数。

一个数的各位数字之和想加后得到的<10的数字称为这个数的九余数(如果相加结果大于9,则继续各位相加)

因为数据挺大的,不能暴力。所以可以边乘边取余。很像快速幂。

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 
 5 int main(){
 6     int n;
 7     while(cin >> n&&n){
 8         int temp=1;
 9         for(int i=1;i<=n;i++)
10         temp=temp*n%9;
11         if(temp==0) cout << 9 << endl;
12         else cout << temp << endl;
13     }
14     return 0;
15 }

 

Hdu-1163 Eddy's digital Roots(九余数定理)

标签:div   roo   digital   不能   while   相加   快速   快速幂   code   

原文地址:http://www.cnblogs.com/Leonard-/p/6329688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!