[C++]PAT乙級1012.デジタル分類(20/20)
2458 ワード
/*
1012. (20)
, , 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
*/
/*
:
1.
1.1 ,
1.2 ,
2. .
:
, : A2 : A2 , 0 , 。
*/
#include
using namespace std;
int main()
{
int size;
int tmp, mod, A2_count = 0,A2_prev = 1, A4_count = 0;//tmp: ;A2_prev: A2 , +,1:+,-1:-;A3_count: A3
int A1 = 0, A2 = 0, A3 = 0, A5 = -1;//A5: 5 4
double A4 = 0;//A4: ,
scanf("%d", &size);
while(size--){
scanf("%d", &tmp);
mod = tmp % 5;
if(mod == 0){
if(tmp % 2 == 0){
A1 += tmp;//A1: 5
}
}else if(mod == 1){//A2: 5 1 , n1-n2+n3-n4...;
A2 += A2_prev * tmp;
A2_prev *= -1;
A2_count++;// : A2 : A2 , 0 , 。
} else if(mod == 2) {//A3: 5 2 ;
A3++;
} else if(mod == 3){//A4: 5 3 , 1 ;
A4 += tmp;//
A4_count++;//
} else {//A5: 5 4 。
A5 = tmp > A5 ? tmp : A5;
}
}
if(A1 != 0){
printf("%d ", A1);
} else {
printf("%s ", "N");
}
if(A2_count != 0){
printf("%d ", A2);
} else {
printf("%s ", "N");
}
if(A3 != 0){
printf("%d ", A3);
} else {
printf("%s ", "N");
}
if(A4 != 0){
printf("%.1f ", A4 / A4_count);
} else {
printf("%s ", "N");
}
if(A5 != -1){
printf("%d", A5);
} else {
printf("%s", "N");
}
// printf("%d %d %d %.1f %d", A1, A2, A3, A4 / A4_count, A5);//test
return 0;
}
転載先:https://www.cnblogs.com/johnnyzen/p/8948379.html