2016年5月9日 星期一

給 P1A、P1B

我決定抽選的由a001~a007抽1、a008~a014抽1、a015~a021抽1

變化的會由以下所公佈的四個練習題中抽2個(但類似而已)

變化一:運算結果最大值
  給三個數字 a,b,c ,只有+、* 兩種運算及一個括號,問下列運算式哪一個?最大?
   (a+b)*c、a+(b*c)、(a*b)+c、a*(b+c)

變化二:糖果紙換糖果
  一顆糖果3元,5張糖果紙可換1顆,又3張糖果紙可換1元,而且如果有4張糖果紙的話可向老闆先借1張換1顆馬上吃再還,請問有 n 元最多可以吃到幾顆糖果?
 

變化三:費氏數列
 f0=1、f1=1、f2=2、f3=3、f4=5、f5=8、f6=13、...、f20=10946、...、
     f50=20365011074、...、f70=308061521170129、...、f90=4660046610375530309
   輸入 n , 0<=n<=90,請問 fn的值

變化四:判斷可否被11整除
 如果是long long int 可存範圍正整數 n <=2^63-1 = 9223372036854775807{約9.22*10^18}
比照a024所有位數和,但分奇數位的和odd及偶數位的和even,若odd-even可被11整除的話,則 n 也可被11整除。{這樣解題時只要加個if判斷是奇數位就加至odd、偶數位就加至even}

 但如果n的位數超出19位數怎麼辦?假設n不超過30位數,為了可以使用long long整數讀,
我們將n平分為n1及n2兩部份,並且在n1及n2之前加d1、d2代表各幾位數
例如: n為901234567890123456789共有21位數將之分為11位及10位,則輸入 d1  n1  d2  n2
11  90123456789  10 123456789 ,這樣就可以輸入,也可以分別算 n1及n2的奇數位及偶數位
就是給 d1  n1  d2  n2  為11  90123456789  10 123456789 就是問 901234567890123456789
是否可被 11 整除?  {n2的前面有0時不會讀入,所以要判斷d2的位數自己算前導0的位數}

0 意見:

張貼留言