hdu1089 Ignatius's puzzle

来源:互联网 发布:turn.js 翻页区域设置 编辑:程序博客网 时间:2024/06/09 23:01

题目

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

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

 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;}