题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1098
思路:数学归纳法
观察可发现规律:13*5=65,并且 f(x)=5*x^13+13*x^5+k*a*x 中5乘以x的13次方,13乘以x的5次方,意向到按下述方法做
(1)f(0)=0 满足条件
(2)假设当取x时,结论成立。
,此时 f(x)%65=0
(3)当取 x+1 时,
展开得:
其中:包含的项,分别和其前面的5、13相乘,均可被65整除,而剩余的项如下所示:
其中:由(2)可知可被65整除
所以只要保证:(5+13+k*a )%65 =0 即可
又因为:18%65=18,所以上式可化为:18+(k*a)%65=0,所以只需遍历a从0到64即可
代码如下:
#include<bits/stdc++.h> using namespace std; int main() { int k,flag,a; while(scanf("%d",&k)!=EOF) { flag=0; for(a=0;a<=64;a++) { if((18+k*a)%65==0) { flag=1; break; } } if(flag==0) printf("no\n"); else printf("%d\n",a); } return 0; }