1585七個小矮人(程式碼簡化)
阿新 • • 發佈:2020-11-14
描述
白雪公主經常為七個小矮人講故事,為了方便,她為這七個小矮人安排了學號,學號分別是 1 至 7 號。有一次,白雪公主又邀請七個小矮人來聽她講故事,但是隻來了六個小矮人,那 麼缺席的那個小矮人是誰呢?
輸入
一行,6 個學號,空格分開,表示來聽故事的六個小矮人的學號。
輸出
沒來聽故事的小矮人的學號。
輸入樣例 1
3 5 2 1 7 4
輸出樣例 1
6
輸入樣例 2
7 3 2 4 1 6
輸出樣例 2
5
這是其實一道很簡單的題目,我第一次做這道題時最開始是用陣列來計數。
int a[7]={0};
迴圈輸入,輸入6號就a[6-1]++;最後在迴圈找出為0的元素,即沒來的小矮人。
程式碼如下:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int a[7]={0},n; 6 for(int i=1;i<=6;i++) 7 { 8 cin>>n; 9 a[n-1]++; 10 } 11 for(int i=0;i<=6;i++) 12 { 13 if(a[i]==0) cout<<i+1; 14 } 15 return 0;16 }
做完之後才發現,這道題用陣列其實是大炮打蚊子了。
可以改進程式碼,累加輸入的6個數,然後用1+2+3+4…+7=28,減去累加的數,就是沒有輸入的那個數。
程式碼如下:
1 #include<iostream> 2 using namespace std; 3 int main() 4 { 5 int s=0,a; 6 for(int i=1;i<=6;i++) 7 { 8 cin>>a; 9 s+=a; 10 } 11 cout<<28-s; 12return 0; 13 }