acm1905Pseudoprime numbers
来源:互联网 发布:数据安全防护功能 编辑:程序博客网 时间:2024/05/29 04:13
做这道题时我还不知道有关于费马定理(或者我已经忘记),不知道怎么做,百度了一下,才知道这个定理。想一想和自己以前学的算法还是比较相像的,核心在于素数的判断以及暴力求解会溢出怎么解决的事
素数是直接判断,而a^p%p可以转化为代码中的解决方法
问题是:a^p%p=?a%p,并且p要求是素数
成立就yes,不成立为no
#include<stdio.h>bool check(__int64 a){//检查是不是素数 __int64 i; for(i=2;i*i<a;i++){ if(a%i==0) return 0; } return 1;}__int64 fun(__int64 a,__int64 p,__int64 s){ __int64 m; if(p==0) return 1; if(p%2==0){ m=fun(a,p/2,s); return m*m%s; } else return (a%s)*fun(a,p-1,s)%s;}int main(){ __int64 p,a; while(scanf("%I64d %I64d",&p,&a)!=EOF){ if(p==0&&a==0) break; if(check(p)){ printf("no\n"); continue; } else{ if(fun(a,p,p)==a) printf("yes\n"); else printf("no\n"); } } return 0;}
阅读全文
0 0
- acm1905Pseudoprime numbers
- Numbers
- Numbers
- Numbers
- Numbers
- Numbers
- Ugly Numbers
- Humble Numbers
- Humble Numbers
- Palindrom Numbers
- Niven Numbers
- Alien Numbers
- Alien Numbers
- Phone Numbers
- usaco_humble numbers
- Alien Numbers
- Alien Numbers
- hdu1058humble numbers
- spark中的一些基本概念(等我看完代码回来填坑)
- 关于c的printf一些小问题技巧
- kingsley-sun的博客
- 算法笔记--分治(求后序遍历)
- MTK_android项目驱动设置
- acm1905Pseudoprime numbers
- EA&UML日拱一卒-活动图::ReadSelfAction和ReadStructuralFeatureAction
- 在面试准备中总结的一些面试题
- 求解概率相关的题目的解法
- Stack Clash:Linux安全杀手
- dubbo命令行
- Ubuntu 16.04 adb devices : no permissions 解决方法
- LXC——LinuX Container 使用简介
- python3josn 数据解析