hdu1395 2^x mod n = 1
来源:互联网 发布:淘宝口罩 编辑:程序博客网 时间:2024/05/16 19:02
/**********
2^x mod n = 1
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 11751 Accepted Submission(s): 3659
Problem Description
Give a number n, find the minimum x(x>0) that satisfies 2^x mod n = 1.
Input
One positive integer on each line, the value of n.
Output
If the minimum x exists, print a line with 2^x mod n = 1.
Print 2^? mod n = 1 otherwise.
You should replace x and n with specific numbers.
Sample Input
2
5
Sample Output
2^? mod 2 = 1
2^4 mod 5 = 1
题目大意:求一个数n,2的x次方对n取余,如果等于1,那么输出x,没有则输出?
难点:2的x次方可能很大,超出int型范围;
关键点:费马定理,剩余定理
解题时间:2014,07,31
解题思路:根据费马定理可知,只要n是一个大于2的奇数,都存在x,再有剩余定理
保证在算2的x次方的时候不会超出范围
体会:定理知道了还要会用啊
*************/
#include<stdio.h>int main(){int n,i,s;while(~scanf("%d",&n)){s=1;if(n%2==0||n==1)printf("2^? mod %d = 1\n",n);else{for(i=1;;i++){s=s*2;if(s%n==1)break;s=s%n;//剩余定理保证s不超出范围 }printf("2^%d mod %d = 1\n",i,n);}}return 0;}
0 0
- HDU1395:2^x mod n = 1
- hdu1395-2^x mod n = 1
- hdu1395 2^x mod n = 1
- HDU1395---2^x mod n = 1
- hdu1395 2^x mod n = 1
- hdu1395 2^x mod n = 1
- ZOJ 1489 HDU1395 2^x mod n = 1 数学
- hdu1395 2^n mod n =1 简单数学题
- hdu1395 2^x mod n = 1(数论:快速幂取模+欧拉定理)
- HDU1395 ZOJ1489 2^x mod n = 1【暴力法+数论】
- 2^x mod n = 1
- ZOJ1489 2^x mod n = 1
- zoj1489-2^x mod n = 1
- 1073:2^x mod n = 1
- HDU 2^x mod n = 1
- HDU_1395 2^x mod n = 1
- 2^x mod n = 1
- hdoj1395 2^x mod n = 1
- C#中MessageBox用法大全(附效果图)
- 【Leetcode长征系列】Palindrome Number
- 算法9.13
- 贴片电阻的命名方法
- [ajax 学习笔记] ajax初试
- hdu1395 2^x mod n = 1
- ListView分组和字母导航,自定义Toast
- 从pfx提取密钥信息,并转换为key格式(pfx使用pkcs12模式补足)
- 关于 PHP Boolean 的细节
- Java程序导致服务死机的情况
- Apache Hadoop YARN: 背景及概述
- 从源代码剖析Mahout推荐引擎
- 5中单例模式比较
- Redis应用介绍