# 黎明高中資訊社第一次模擬平時考(*試辦*) --- ## 說明: 社長或副社長將從itsa或者zero judge挑選出3至4題的題目,基本上都不會選有出現在資訊社資源目錄的,難度隨題號遞增,在社團課抑或週六課程時將驗收,選擇自己會寫的先做,目前都是你們能夠解決的。 ## 完成者填寫說明: 若已答題且正確完畢,請寫上自己的姓名,可以自己新增更多名次(如第一題有到11名,可以繼續增加),有空社長將抽查答對者的想法與程式,一切採自由心證,當然我回去看報表核對。 ## 時間: 2020/03/23至2020/04/01 <10 p.m>(愚人節) ## 獎勵: 副社長將提供價值(10±1)元的茶葉蛋10顆,完成兩題以上者(前10名)。 ## 社長的話: > [name=風思] > 期盼各位能更加認真~ > [color=#db27ab] ## 解答: 已釋出如下。 --- ### 1.[[C_MM85-易] 完美數問題](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=2295) #### 問題敘述:一個正整數稱為完美數,如果此數等於其因數 ( 不包括本身,不限為質因數 ) 的和。例如: 6 是一個完美數因為 6 = 1+2+3 。請撰寫一個函式 isPerfect() 來判斷傳進去的參數是否為一完美數。並寫一個主程式運用這個 isPerfect() 函式來判斷自 1 到任意指定正整數之間哪些整數是完美數,將它們列印在螢幕上。 ### 完成者: 範例: 1. <曾俊翔> > [time=Sat, Mar 28, 2020 2:59 PM] 2. <李晨維> > [time=Sat, Mar 28, 2020 3:02 PM] 3. <張嘉元> > [time=Sat, Mar 28, 2020 3:02 PM] 4. <柯昀杰> > [time=Sat, Mar 28, 2020 3:06 PM] 5. <吳冠毅> > [time=Sun, Mar 29, 2020 7:58 AM] 6. <郭浩雲> > [time=Sun, Mar 29, 2020 8:12 AM] 7. <賴晨興> > [time=Wed, Apr 1, 2020 11:17 AM] ### 參考解答: #### C++: (照題目意思來) ```cpp= #include <iostream> using namespace std; bool isPerfect(int n){ int sum=0; for(int i=1; i<n; i++){ if(n%i==0) sum+=i; } if(n==sum) return true; else return false; } int main(){ int n; cin >> n; for(int i=6; i<=n; i+=2){ if(isPerfect(i)){ if(i!=6) cout << " "; cout << i; } } cout << " is perfect number" << endl; return 0; } ``` #### C: ```cpp= #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]){ int a,i,j,sum=0; scanf("%d",&a); for(i=6; i<=a; i++){ sum=0; for(j=1; j<i; j++){ if(i%j==0) sum+=j; } if(sum==i){ if(i==6) printf("%d",i); else printf(" %d",i); } } printf(" is perfect number\n"); return 0; } ``` --- ### 2.[[C_MM058-中] 二項式求解](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=1903) #### 問題敘述:給定一二項式,ax+by=c,輸入3個整數,a,b,c,求出所有x,y之非負整數解,並將其解依序列出。例a=2, b=3, c=10, 2x+3y=10, 解答為x=2,y=2和x=5,y=0;結果列出如下所示: ``` 2,2 5,0 ``` ### 完成者: 1. <張嘉元> > [time=Sat, Mar 28, 2020 3:02 PM] 2. <李晨維> > [time=Sat, Mar 28, 2020 3:02 PM] 3. <吳冠毅> > [time=Sun, Mar 29, 2020 8:00 AM] 4. <柯昀杰> > [time=Sun, Mar 29, 2020 12:14 PM] 5. <郭浩雲> > [time=Wed, Apr 1, 2020 10:45 PM] ### 參考解答: #### Java: ```java= import java.util.*; //[C_MM058-中] 二項式求解 //2020,03,17;10:24 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] binomial = sc.nextLine().split(","); int a = Integer.parseInt(binomial[0]); int b = Integer.parseInt(binomial[1]); int c = Integer.parseInt(binomial[2]); for (int x = 0; x <= c; x++) { for (int y = 0; y <= c; y++) { if (a * x + b * y == c) { System.out.println(x + "," + y); } } } } } ``` --- ### 3.[[C_MM070-易] 等邊三角方塊](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=2057) #### 問題敘述:給定1個數字A(個方塊),求N。N為最大可以構成的等邊三角方塊 ### 完成者: 1. <張嘉元> > [time=Sat, Mar 28, 2020 3:03 PM] 2. <李晨維> > [time=Sat, Mar 28, 2020 3:03 PM] 3. <吳冠毅> > [time=Sun, Mar 29, 2020 8:00 AM] 4. <柯昀杰> > [time=Wed, Apr 1, 2020 10:30 AM] 5. <郭浩雲> > [time=Wed, Apr 1, 2020 10:45 PM] ### 參考解答: #### C++: ```cpp= #include <bits/stdc++.h> using namespace std; int main(){ int A,N,sum; while(cin >> A){ sum=0; for(int i=1; true; i++){ sum+=i; if(sum>A){ N=i-1; break; } } cout << N << endl; } return 0; } ``` --- ### 4.[[C_MM075-易] 店家找錢](https://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=2081) #### 問題敘述:小明到趨程式買大華的生日禮物,但是很遺憾的她身上只剩下千元大鈔,他想知道如果店家零錢分別的個數為已知,那他買了N元的禮物K個之後,會把千元大鈔最少換成多少個零錢(零錢有500、100、50、10、5、1)。 ### 完成者: 1. <李晨維> > [time=Sat, Mar 28, 2020 3:03 PM] 2. <柯昀杰> > [time=Sun, Mar 29, 2020 12:28 AM] 3. <吳冠毅> > [time=Sun, Mar 29, 2020 8:01 AM] 4. <郭浩雲> > [time=Sun, Mar 29, 2020 8:12 AM] 5. <張嘉元> > [time=Wed, Apr 1, 2020 11:25 AM] 6. <何承煜> > [time=Thu, Apr 2, 2020 7:23 AM] ### 參考解答: #### C++: ```cpp= #include <bits/stdc++.h> using namespace std; int main(){ int K,N,count=0; int arr[6][2]= {{0,500},{0,100},{0,50},{0,10},{0,5},{0,1}}; cin >> K >> N; for(int i=0; i<6; i++) cin >> arr[i][0]; int money = 1000-(K*N); for(int i=0; i<6;){ if(money>=arr[i][1]){ while(arr[i][0]>0 and money>=arr[i][1]){ count++; arr[i][0]--; money-=arr[i][1]; } i++; } else i++; } cout << count << endl; return 0; } ``` --- ## 統計表 | 第一題 | 第二題 | 第三題 | 第四題 | 全對者 | |:------:|:------:|:------:|:------:|:------:| | 6 | 5 | 5 | 6 | 4 | > [time=Wed, Apr 1, 2020 10:43 PM] --- ###### tags: `社內考試`