uva10006(幂取模)
来源:互联网 发布:你也配做姓赵 知乎 编辑:程序博客网 时间:2024/05/24 03:23
题目的意思就是要求找出n 满足一下两个条件
1. n不是素数 .
2.对于任何比n小的数a 都有 pow (a , n) % n == a;
首先判断是不是素数.
然后用幂取模遍历所有小于n的a来求是不是满足第二个条件就行了.
AC代码:
#include<stdio.h>#include<math.h>int num;int pow_mod(int a ,int n ,int m) {if(n == 1)return a;int x = pow_mod(a , n / 2 , m);long long ans = (long long) x * x % m;if(n % 2 == 1)ans = ans * a % m;return (int)ans;}int main () {int num;while(scanf("%d",&num) && num) {bool flag = false;for (int i = 2 ; i < sqrt(num) ; i++) {if(num % i == 0) {flag = true;break;}}if(!flag) {printf("%d is normal.\n",num);continue;}flag = false;for (int i = 1 ; i < num ;i++) {if(pow_mod(i , num , num) != i) {flag = true;break;}}if(!flag)printf("The number %d is a Carmichael number.\n",num);elseprintf("%d is normal.\n",num);}}
0 0
- uva10006(幂取模)
- 快速幂取模 例题uva10006
- UVA10006->素数筛&&快速幂取模
- UVA10006----CarmichaelNumbers
- UVa10006 - Carmichael Numbers
- uva10006 - Carmichael Numbers
- 快速幂--uva10006
- UVA10006- Carmichael Numbers
- UVA10006 快速幂
- Carmichael Numbers uva10006
- UVA10006-快速幂Carmichael Numbers
- UVa10006-Carmichael Numbers 快速幂运算
- UVA10006 - Carmichael Numbers(筛选构造素数表+快速幂)
- UVa10006 Carmichael Numbers【素数判定+快速模幂】
- uva10006 Carmichael Numbers(卡迈克尔数+素数打表)
- uva10006 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=35&page=show
- 幂取模
- 幂取模
- 四大组件之Content Provider(一)
- OpenCV打开摄像头(二)
- 28335项目研发笔记
- 性能调优应用篇之from DB全量加载 数据
- java web项目中达梦数据库的xml配置文件
- uva10006(幂取模)
- 关于“该虚拟机似乎正在使用中”的解决方法
- strlen()与sizeof()的区别
- hdu 2483 Turn the corner(三分)
- wpa_supplicant连接ap
- 使用maven+sonarqube进行Android项目管理(二)
- 第一次
- 新安装的QT 不能找到 GL/gl.h
- Android ADB 端口占用问题解决方案