nyoj 424 && 485(九余数定理)

来源:互联网 发布:手机常用的网络制式是 编辑:程序博客网 时间:2024/05/21 06:39

http://acm.nyist.net/JudgeOnline/problem.php?pid=424

http://acm.nyist.net/JudgeOnline/problem.php?pid=485

九余数的定理:一个数对9取余等于这个数各位数相加的和对9取余,例如  123 %9 = (1+2+3)%9,所以题目中要求把一个数的各个位加起来直到是个不大于9的数,就等于直接对这个数对9取余。比如 789  7+8+9=24   2+4=6     789%9=6 ,  另外公式 比如4的4次方最后对9取余 等于 {  [(4*4)%9]*4%9}*4%9  。

知道了这个定理的话就好解了:

#include<iostream>using namespace std;int main() {  int n;  while (cin >> n && n) {    int s = n;    for (int i = 2; i <= n; i++)       s = s * n % 9;     if (s == 0) cout << 9 << endl;    else cout << s << endl;  }}


0 0
原创粉丝点击