Problem Description
Ignatius is poor at math,he falls across apuzzle problem,so he has no choice but to appeal to Eddy. this problemdescribes that:f(x)=5*x^13+13*x^5+k*a*x,input a nonegative integerk(k<10000),to find the minimal nonegative integer a,make the arbitrary integerx ,65|f(x)if
no exists that a,then print "no".
Input
The inputcontains several test cases. Each test case consists of a nonegative integer k,More details in the Sample Input.
Output
The outputcontains a string "no",if you can't find a,or you should output aline contains the a.More details in the Sample Output.
Sample Input
11
100
9999
Sample Output
22
no
43
解题思路:从题目中给的信息65|f(x),可以看出65是f(x)的约数,其实本题拓展欧几里得算法,偷了点小懒,枚举,暴力,ac了,根据测试范围,x的值只可能是1,所以问题可以简化为18+a*k=65|f(x),如果存在,输出最小的a,反之输出no;
#include <stdio.h>
int main(int argc, char *argv[])
{
int a,k,i;
int fx;
while(~scanf("%d",&k))
{
for(i=1; i<=1000; i++)
{
fx=18+k*i;
if((fx%65)==0)
{
printf("%d\n",i);
break;
}
}
if(i==1001) printf("no\n");
}
return 0;
}