HDU 1098 (數學 特殊值 抽屜原理)

2021-07-09 14:11:52 字數 1122 閱讀 5826

題目大意:方程f(x)=5*x^13+13*x^5+k*a*x;輸入任意乙個數k,是否存在乙個數a,對任意x都能使得f(x)能被65整出。

現假設存在這個數a ,因為對於任意x方程都成立

所以,當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

所以容易解得

注意,這裡有童鞋不理解為毛a只需到65即可

因為,當a==66時

也就相當於已經找了乙個週期了,所以再找下去也找不到適當的a了

如果你非要證明的話,可以利用了取模過程與數的運算的次序上可交換原理簡單證明一下

problem description

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

1009999

sample output

22

no43

#include#include#include#include#includeusing namespace std;

int main()

if(a>65) printf("no\n");

else printf("%d\n",a);

} return 0;

}

Hdu 1098解題報告

hdu 1098解題報告 題意 已知存在乙個等式f x 5 x 13 13 x 5 k a x,輸入乙個正整數k k 1000 要我們找出乙個最小的正整數a 使得任意的整數x,滿足f x 65等於0。如果整數a 不存在,則輸出 no 存在的話就輸出a。思路 採用特值法 當x 1時,f x 18 k ...

hdu1098 數學歸納法簡單應用

題目的關鍵是函式式f x 5 x 13 13 x 5 k a x 事實上,由於x取任何值都需要能被65整除.那麼用數學歸納法.只需找到f 1 成立的a,並在假設f x 成立的基礎上,證明f x 1 也成立.那麼把f x 1 展開,得到5 13 0 x 13 13 1 x 12 13 13 x 0 1...

費馬小定理 hdu 1098

題意 給出k。求使得f x 5 x 13 13 x 5 k a x對任意x都為65的倍數的a的最小值。mark 65 13 5。要使f x 是65的倍數,只需要f x 是5和13的倍數即可。先來分析13的。若f x 是13的倍數,有5 x 13 13 x 5 k a x 13 0,其中13 x 5項...