其实这道题不是很难,但是我刚开始拿到这道题的时候不知道怎么做,
因为这个式子我就不知道是干什么的:
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\n",i);
break;
}
}
if(i==66) printf("no\n");
}
return 0;
}