希尔伯特旅馆悖论
来源:互联网 发布:python哪本书好 编辑:程序博客网 时间:2024/06/10 08:23
题目连接:http://acm.bupt.edu.cn/onlinejudge/newoj/showProblem/ProblemList.php?problem_name=%E5%B8%8C%E5%B0%94%E4%BC%AF%E7%89%B9%E6%97%85%E9%A6%86%E6%82%96%E8%AE%BA
很简单的题目,题目中给了解法,直接打完素数表,快速幂模即可。
题目的解法就是:输入x,y只要求第x+1个素数的y次方mod mo就是结果
代码:
#include <iostream>#include <cmath>using namespace std;const int N=1100000;const int M=90000;const int mo=100000007;bool is[N];int prm[M];int getprm(int n){ int i, j, k = 0; int s, e = (int)(sqrt(0.0 + n) + 1); memset(is, 1, sizeof(is)); prm[k++] = 2; is[0] = is[1] = 0; for (i = 4; i < n; i += 2) is[i] = 0; for (i = 3; i < e; i += 2) if (is[i]) { prm[k++] = i; for (s = i * 2, j = i * i; j < n; j += s) is[j] = 0; } for ( ; i < n; i += 2) if (is[i]) prm[k++] = i; return k; // 返回素数的个数}long long powmod(long long a,long long p)//快速幂模模板 a为基数p为幂 mo为全局的模即a^p mod mo{ long long r=1; while(p>0) { if(p&1)r=r*a%mo; a=a*a%mo; p=p/2; } return r;}int main(){ int t; scanf("%d",&t); getprm(N); //printf("%d\n",k); while(t--){ int x,y; scanf("%d%d",&x,&y); long long ans=powmod(prm[x],y); printf("%lld\n",ans); } return 0;}
- 希尔伯特旅馆悖论
- 旅馆
- 悖论
- 悖论
- 悖论
- 悖论
- 希尔伯特传记
- 希尔伯特变换
- 希尔伯特变换器
- 希尔伯特变换
- 希尔伯特变换
- 希尔伯特(Hilbert)变换
- 希尔伯特第十问题
- 希尔伯特(Hilbert)空间
- 希尔伯特曲线实现
- python 画希尔伯特曲线
- C++生成希尔伯特矩阵
- 连续信号希尔伯特变换
- STL bitset用法总结
- 在Eclipse中使用JUnit4进行单元测试(初级篇)
- UITableView
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- 在Eclipse中使用JUnit4进行单元测试(高级篇)
- 希尔伯特旅馆悖论
- Appointment
- 如何用PowerDesigner 逆向工程导出ORACLE数据库 表+字段+注释
- 网络游戏测试过程,开展和如何进行
- 八皇后问题
- scanf()函数的用法和实践
- 图文例解C++类的多重继承与虚拟继承
- unresolved external symbol "__declspec(dllimport) int __stdcall
- tomcat中未发现apr问题