數字分類,PAT,1012
阿新 • • 發佈:2019-01-28
給定一系列正整數,請按要求對數字進行分類,並輸出以下5個數字:
A1 = 能被5整除的數字中所有偶數的和; A2 = 將被5除後餘1的數字按給出順序進行交錯求和,即計算n1-n2+n3-n4...; A3 = 被5除後餘2的數字的個數; A4 = 被5除後餘3的數字的平均數,精確到小數點後1位; A5 = 被5除後餘4的數字中最大數字。輸入格式:
每個輸入包含1個測試用例。每個測試用例先給出一個不超過1000的正整數N,隨後給出N個不超過1000的待分類的正整數。數字間以空格分隔。
輸出格式:
對給定的N個正整數,按題目要求計算A1~A5並在一行中順序輸出。數字間以空格分隔,但行末不得有多餘空格。
若其中某一類數字不存在,則在相應位置輸出“N”。
輸入樣例1:13 1 2 3 4 5 6 7 8 9 10 20 16 18輸出樣例1:
30 11 2 9.7 9輸入樣例2:
8 1 2 4 5 6 7 9 16輸出樣例2:
N 11 2 N 9
提交程式碼:
//#include"stdafx.h" //#include<fstream> #include <iostream> #include <iomanip> using namespace std; int main() { //ifstream cin("aaa.txt"); int i,a,n; double a1,a2,a3,a4,a5; int f1,f2,f3,f4,f5; f1 = 0; f2 = 0; f3 = 0; f4 = 0; f5 = 0; a1 = 0; a2 = 0; a3 = 0; a4 = 0; a5 = 0; double t2 = 1; double t4 = 0; cin>>n; for(i=0;i<n;i++) { cin>>a; if(a%10==0) { a1 = a1 + a; f1++; } if(a%5==1) { a2 = a2 + a * t2; t2 = t2 * -1; f2++; } if(a%5==2) { a3++; f3++; } if(a%5==3) { a4 = a4 + a; t4++; f4++; } if(a%5==4 && a>a5) { a5 = a; f5++; } } a4 = a4/t4; if(f1>0) cout<<a1<<' '; else cout<<"N "; if(f2>0) cout<<a2<<' '; else cout<<"N "; if(f3>0) cout<<a3<<' '; else cout<<"N "; if(f4>0) cout<<fixed<<setprecision(1)<<a4<<' '; else cout<<"N "; if(f5>0) cout<<fixed<<setprecision(0)<<a5<<endl; else cout<<"N"<<endl; system("pause"); return 0; }
評測結果
時間 | 結果 | 得分 | 題目 | 語言 | 用時(ms) | 記憶體(kB) | 使用者 |
---|
測試點
測試點 | 結果 | 用時(ms) | 記憶體(kB) | 得分/滿分 |
---|---|---|---|---|
0 | 答案正確 | 1 | 384 | 8/8 |
1 | 答案正確 | 1 | 296 | 5/5 |
2 | 答案正確 | 1 | 444 | 1/1 |
3 | 答案正確 | 1 | 304 | 1/1 |
4 | 答案正確 | 1 | 384 | 1/1 |
5 | 答案正確 | 1 | 432 | 1/1 |
6 | 答案正確 | 1 | 432 | 1/1 |
7 | 答案正確 | 1 | 432 | 1/1 |
8 | 答案正確 | 1 | 384 | 1/1 |