hdu1089 Ignatius's puzzle

题目

其实这道题不是很难,但是我刚开始拿到这道题的时候不知道怎么做,

因为这个式子我就不知道是干什么的:

 65|f(x) 

百度解释(若a/b=x...0  称a能被b整除,b能整除a,即b|a,读作“b整除a”或“a能被b整除”。a叫做b的倍数,b叫做a的约数(或因数)。)

即:f(x)能够被65整除。

即题目大意是:

方程f(x)=5*x^13+13*x^5+k*a*x;输入任意一个数k,是否存在一个数a,对任意x都能使得f(x)能被65整除
解题思路:
当x=1时f(x)=18+ka,又因为f(x)能被65整出,故设n为整数,可得,f(x)=n*65;
即:18+ka=n*65; n为整数
则问题转化为,对于给定范围的a只需要验证,是否存在一个a使得(18+k*a)%65==0能被b整除”。

#include<stdio.h>
int main()
{
    int k,i;
    while(~scanf("%d",&k))
    {
        for(i=0;i<66;i++)
        {
            if((18+k*i)%65==0)
            {
                printf("%d
",i);
                break;
            }
        }
        if(i==66) printf("no
");
    }
    return 0;
}



原文地址:https://www.cnblogs.com/qie-wei/p/10160269.html