hdu 1163 Eddy's digital Roots 【九余数定理】
http://acm.hdu.edu.cn/showproblem.php?pid=1163
九余数定理:
如果一个数的各个数位上的数字之和能被9整除,那么这个数能被9整除;如果一个数各个数位上的数字之和被9除余数是几,那么这个数被9除的余数也一定是几。
证明:
首先10^i =99...9(i个9) +1除以9的余数=1
所以ai*10^i除以9的余数=ai
用a0~an表示各位数字则
数=(anan-1an-2.a2a1a0),
=an*10^n+an-1*10^n-1 +an-2 *10^n-2 +.a2*10^2+a1*10+a0
除以9的余数=an +an-1 +an-2 +.+a2 +a1 +a0
例如,3645732这个数,各个数位上的数字之和为 3+6+4+5+7+3+2=30, 30被9除余3,所以3645732这个数不能被9整除,且被9除后余数为3。
题目大意:将一个数n的各位数字加起来,如果得到的是一个一位数,那么这个数就叫n的数根,如果是两位数或多位数,则重复这个过程,直到得到的数字是一位数。现在给出n,求n^n(这里是n的n次方,总是想当然的以为是n的平方)的数根。
题目解析:最终的答案是小于10的,相当于各位数的和模10,可以不转化为对9取模,当余数为0时,则相当于模10余9。这样,便转化为了求各位数的和模9。这样便能运用九余数定理了。九余数定理的内容是这样的,一个数的各位之和除以9的余数等于这个数除以9的余数。
上面说:便转换为了求各个位数的和模9,但是我并没有再代码中感觉到有这个思想。
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,temp;
while(~scanf("%d",&n),n)
{
temp = n;
for(int i=2;i<=n;i++)
temp = temp * n % 9;
if(temp == 0)
printf("9\n");
else
printf("%d\n",temp);
}
return 0;
}
hdu 1163 Eddy's digital Roots 【九余数定理】的更多相关文章
- HDOJ 1163 Eddy's digital Roots 九余数定理+简单数论
我在网上看了一些大牛的题解,有些知识点不是太清楚, 因此再次整理了一下. 转载链接: http://blog.csdn.net/iamskying/article/details/4738838 ht ...
- HDU 1163 Eddy's digital Roots
Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- HDU 1163 Eddy's digital Roots(模)
HDU 1163 题意简单,求n^n的(1)各数位的和,一旦和大于9,和再重复步骤(1),直到和小于10. //方法一:就是求模9的余数嘛! (228) leizh007 2012-03-26 21: ...
- HDOJ 1163 Eddy's digital Roots(九余数定理的应用)
Problem Description The digital root of a positive integer is found by summing the digits of the int ...
- Hdu1163 Eddy's digitai Roots(九余数定理)
题目大意: 给定一个正整数,根据一定的规则求出该数的“数根”,其规则如下: 例如给定 数字 24,将24的各个位上的数字“分离”,分别得到数字 2 和 4,而2+4=6: 因为 6 < 10,所 ...
- Eddy's digital Roots(九余数定理)
Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- HDU-1163 Eddy's digital Roots(九余数定理)
Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- Eddy's digital Roots
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...
- HDU-1163Eddy's digital Roots,九余定理的另一种写法!
下午做了NYOJ-424Eddy's digital Roots后才正式接触了九余定理,不过这题可不是用的九余定理做的.网上的博客千篇一律,所以本篇就不发篇幅过多介绍九余定理了: 但还是要知道什么是九 ...
随机推荐
- Pandas数据规整
Pandas数据规整 数据分析和建模方面的大量编程工作都是用在数据准备上的,有时候存放在文件或数据库中的数据并不能满足数据处理应用的要求 Pandas提供了一组高级的.灵活的.高效的核心函数和算法,它 ...
- Ansible Playbook Roles and Include Statements
介绍 虽然可以在一个非常大的文件中编写一个playbook(您可能会以这种方式开始学习playbook),但最终您将需要重新使用文件并开始组织事情. 在基本级别,饱含任务的文件允许您将配置策略分解成较 ...
- linux 常用find
磁盘查找文件内容: find .|xargs grep x find . -exec grep x{} \; 磁盘查找文件名称: find / -name "httpd.conf" ...
- 每月IT摘录201808--201809
一.技术 海量数据的解决方案: 使用缓存: 页面静态化技术: 数据库优化: 分离数据库中活跃的数据: 批量读取和延迟修改: 读写分离: 使用NoSQL和Hadoop等技术: 分布式部署数据库: 应用服 ...
- Redis常用数据类型及命令
Redis数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 注意: 命令的关键词,如set ...
- 64位tomcat不能配32位的JDK使用
警告: The APR based Apache Tomcat Native library failed to load. The error reported was [D:\apache-tom ...
- Java获取资源文件
比如我们有以下目录 |--project |--src |--javaapplication |--Test.java |--file1.txt |--file2.txt |--build |--ja ...
- Spring配置连接池
---------------------siwuxie095 Spring 配置连接池 1.Spring 配置内置连接 ...
- sign和token设计
签名设计 对于敏感的api接口,需使用https协议 https是在http超文本传输协议加入SSL层,它在网络间通信是加密的,所以需要加密证书. https协议需要ca证书,一般需要交费. 签名的设 ...
- jdeveloper基础教程(中文版)
jdeveloper基础教程(中文版) 程序员的基础教程:菜鸟程序员