ACM整數性問題(nefu115和hdu2099)

2021-08-01 19:16:58 字數 961 閱讀 6505

首先要了解整除的基本性質:

1.若a整除b且a整除c,則對任意的x,y有a整除xb+yc。

2.若a整除b且b不為0,則絕對值a小於等於絕對值b。

3.若a整除b,則ca整除cb(c不為0)。

4.若a整除b且b整除a,則a=±b。

5.若a整除b且b整除c,則a整除c。

下面來看一道簡單題nefu115

已知斐波那契數列有如下遞迴定義,f(1)=1,f(2)=1, 且n>=3,f(n)=f(n-1)+f(n-2),它的前幾項可以表示為1, 1,2 ,3 ,5 ,8,13,21,34…,現在的問題是想知道f(n)的值是否能被3和4整除,你知道嗎?

輸入資料有若干組,每組資料報含乙個整數n(1

對應每組資料n,若 f(n)能被3整除,則輸出「3」; 若f(n) 能被4整除,則輸出「4」;如果能被12整除,輸出「yes」;否則輸出「no」。

467

12

34no

yes

分析:斐波那契數列的整除題,資料給的n資料範圍較大,可能會溢位,由數論知識的規律可發現,當且僅當n可以整除4時,f(n)能整除3;當且僅當n可以整除6時,f(n)能整除4;

則推出能整除12時,f(n)能整除12;(4和6的最小公倍數是12)

淺顯易懂的ac**:

#include#includeusing namespace std;

int main(int arge,char *argv)

putchar('\n');

}}

二:

#include#includeusing namespace std;

int main(int argc,char *argv)

putchar('\n');

}}

ACM整數的尾數

time limit 1 sec memory limit 128 mb submit 73 solved 19 submit status bbs 乙個整數,只知道前幾位,不知道末二位,被另乙個整數除盡了,那麼該數的末二位該是什麼呢 輸入資料有若干組,每組資料報含二個整數a,b 0 a 10000...

ACM 整數劃分(四)

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述問題是我們經常見到的整數劃分,給出兩個整數 n m 要求在 n 中加入m 1 個乘號,將n分成m段,求出這m段的最大乘積 輸入第一行是乙個整數t,表示有t組測試資料 接下來t行,每行有兩個正整數 n,m 1 n 10 19,0 m...

acm 大整數專題

用string類存大整數,之後用陣列來存大整數的每一位 vector stl容器 向量 vector,變長陣列,倍增的思想 size 返回元素個數 empty 返回是否為空 clear 清空 front back push back pop back begin end 支援下標運算子 支援比較運算...