hdoj1098 Ignatius's puzzle(数论)
来源:互联网 发布:航天证券交易软件 编辑:程序博客网 时间:2024/05/01 17:59
来源:http://acm.hdu.edu.cn/showproblem.php?pid=1098
先给出费马小定理:假如a是整数,p是质数,且a,p互质(即两者只有一个公约数1),那么a的(p-1)次方除以p的余数恒等于1。
题意:f(x)=5*x^13+13*x^5+k*a*x,给定k,求最小非负数a,对于任意整数x都满足f(x)|65.
65=13*5,13和5都是质数,要使f(x)|65,只要使f(x)同时能被13和5整除。
先考虑f(x)|5。5*x^13这一项肯定能被5整除,直接讨论13*x^5+k*a*x是否能被5整除
当x为5的倍数时,13*x^5+k*a*x也肯定能被5整除。则当x与5互素时的情况,
可以将x提出来,写成x*(13*x^4+k*a)%5==0,x与5互质,根据费马小定理,
x^4%5=1,所以要满足x*(13*x^4+k*a)%5==0,需要使(k*a)%5=2。
同理,考虑f(x)|13,可得到(k*a)%13=8。
从最后这两个式子我们可以看出,如果k是13或5的倍数,a就不存在,反之,a就一定存在。
代码如下:
#include<stdio.h>int main(){int k,a,i;while(~scanf("%d",&k)){if(k%13==0||k%5==0)printf("no\n");else{a=1;while(1){if((k*a)%5==2&&(k*a)%13==8)break;a++;}printf("%d\n",a);}}return 0;}
阅读全文
0 0
- hdoj1098 Ignatius's puzzle(数论)
- Ignatius's puzzle(数论)
- HDU1098 Ignatius's puzzle 【数论】
- hdu 1098 Ignatius's puzzle数论
- HDU 1098 Ignatius's puzzle(数论)
- HDU 1098 Ignatius's puzzle(数论-其它)
- HDU - 1098 - Ignatius's puzzle (数论 - 费马小定理)
- HDU1098 Ignatius's puzzle(数学归纳法求解)(数论)
- hdu1098 Ignatius's puzzle
- hdu1098:Ignatius's puzzle
- hdu1098-Ignatius's puzzle
- HDU1098 Ignatius's puzzle
- hdu1098 Ignatius's puzzle
- Ignatius's puzzle
- Ignatius's puzzle
- Ignatius's puzzle
- Ignatius's puzzle
- Ignatius's puzzle
- ExpandableTextView——一个可折叠的Textview
- 日期、字符串、时间戳之间的互相转换
- python for循环和range内置函数
- 我是如何入门、成长并进阶为数据分析师的?
- 操作系统(六)文件与文件系统
- hdoj1098 Ignatius's puzzle(数论)
- <转>javascript之Object.assign()痛点
- 第一次安装 iOS 应用获取网络权限
- 【raspberry】(一)认识树莓派
- 4. JavaScript 设计模式(适配器模式,外观模式)
- 用位操作符实现乘除法加减法
- winserver 2012R2 安装oracle及创建表流程
- 005 音量上下键调节音量流程
- mongodb添加用户