Ignatius's puzzle(数论)

链接:点击打开链接



Ignatius's puzzle

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 6503    Accepted Submission(s): 4505


Problem Description
Ignatius is poor at math,he falls across a puzzle problem,so he has no choice but to appeal to Eddy. this problem describes that:f(x)=5*x^13+13*x^5+k*a*x,input a nonegative integer k(k<10000),to find the minimal nonegative integer a,make the arbitrary integer x ,65|f(x)if
no exists that a,then print "no".

 

Input
The input contains several test cases. Each test case consists of a nonegative integer k, More details in the Sample Input.
 

Output
The output contains a string "no",if you can't find a,or you should output a line contains the a.More details in the Sample Output.
 

Sample Input
   
   
   
   
11 100 9999
 

Sample Output
   
   
   
   
22 no 43
 

Author
eddy
 

Recommend
We have carefully selected several similar problems for you:   1097  1082  1064  1124  1164 



用数学归纳法证明,可以知道18+k*a能被65整除,则f[x]能被65整除
 
 
复制代码
//数学归纳法,只要18+ka能被65整除就可以了 
#include<stdio.h>
int main()
{
    int k,a;
    int flag;
    while(scanf("%d",&k)!=EOF)
    {
        if(k%65==0)
          {printf("no\n");continue;}
        flag=0;
        for(a=0;a<66;a++)
        {
            if((18+k*a)%65==0)break;
        }
        if(a>=66)printf("no\n");
        else printf("%d\n",a);    
    } 
    return 0;   
}    
复制代码

你可能感兴趣的:(算法,ACM)