#37948: 基礎解法 c++


yp11151119@yphs.tp.edu.tw (911-36張鈞晏)

學校 : 臺北市私立延平高級中學
編號 : 197210
來源 : [203.72.178.1]
最後登入時間 :
2024-11-15 18:00:44
f707. 幸運 7 (Lucky Seven) -- TOI練習賽202103新手組第2題 | From: [203.72.178.1] | 發表日期 : 2023-10-20 16:27

#include<iostream>//f707. 幸運 7 (Lucky Seven)
using namespace std;
int main(){
int n[11]/*原來的輸入*//*n[0]不用*/,i=1;
while(cin>>n[i],n[i]!=0 and i<=10/*n[1]~[10]*/) i++;
int nnew[11]={0}/*比較所得數*/; 
for(int j=1;j<=10 and n[j]!=0;j++){
if(n[j]%7==0){
nnew[j]=100001+n[j]%70;
}
else{
nnew[j]=100001-n[j]%77;
}
int max=1;
for(int j=2;j<=10 and n[j]!=0;j++){
if(nnew[j]>nnew[max]) max=j;
}
cout<<n[max]<<endl;
return 0;
}
/*
問題敘述
小東喜歡到各地去旅遊,有一天他在一處叢林中冒險時,發現了一個不知名的村落,
他發現這個村落中的數字比較相當特殊,於是他決定來研究一番。
這個村落認為 7 是一個非常吉祥的數字,所以他們的數字比較皆環繞在 7的身上。
今天若有兩數字,則兩數字中可以被 7 整除的比較大,如 14 比 52大;
可以被 7 整除的數字中取 70 的餘數較大的比較大,如 28 會比 14 大;
不能被 7 整除的數字中取 77 的餘數較小的比較大,如 15 會比 16 和 68 大。
現在小東會給你一些數字,請你幫小東找出最大的數字。
 
輸入格式
輸入為一連串的數字,範圍介在 1 至 100000 之間,以數字 0 代表這一串數字的尾端,
最多不超過 10 個數字,且 0 不列入須比較的範圍。
 
輸出格式
依照該村落的數字比較大小規則,輸出給定數列中最大的數字,
若有多個最大的數字,請輸出最前面那一個。
輸入範例 1
7 14 28 0
 
輸出範例 1
28
 
輸入範例 2 *若有多個最大的數字,請輸出最前面那一個。
7 77 777 0
 
輸出範例 2
7
 
輸入範例 3
52 14 0
 
輸出範例 3
14
 
輸入範例 4
15 16 68 0
 
輸出範例 4
15
*/
 
ZeroJudge Forum