Ignatius's puzzle HDU

来源:互联网 发布:cnki数据库 编辑:程序博客网 时间:2024/06/05 19:20

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

#include<cstdio>#include<iostream>#include<algorithm>#include<cstring>#include<cmath>#define N 200005#define mod 1000000007using namespace std;void gcd(int a, int b, int& d, int& x, int& y){    if(!b){ d = a; x = 1; y = 0; }    else    {        gcd(b, a%b, d, y, x);        y -= x*(a/b);    }}int main(){    int n;    while(scanf("%d",&n)==1)    {        if(n%5==0||n%13==0)            printf("no\n");        else        {            int d,x,y;            gcd(n,65,d,x,y);            //cout<<x<<endl;            x*=47;            while(x<0)                x+=65;            x%=65;            printf("%d\n",x);        }    }    return 0;}
原创粉丝点击