首页 > 代码库 > Hdu-1163 Eddy's digital Roots(九余数定理)
Hdu-1163 Eddy's digital Roots(九余数定理)
题意:对于一个数,只要它不是单个数,就把它各位的数相加,直到成为单个数。
九余数定理
一个数对九取余后的结果称为九余数。
一个数的各位数字之和想加后得到的<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(九余数定理)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。