题目链接
思路
一道水题,思路很简单没什么好说的,但我想问题意是不是有点问题?
题目中说A3= 被 5 除后余 2 的数字的个数
那么按理来说A3不应该是能够为0吗,表示没有满足该要求的数字,可是按照要求没有这种数字的话应该输出“N”
,笔者发现输出“N”
得满分,0只有17分,但到底那种正确,其实题目里并没说清楚。其他的就注意下A2这类数字最终结果为0可能是没这种数字也可能是正负求和后为0。
代码
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
#include<map>
#include<stack>
using namespace std;
int main()
{
int N,num,a1=0,a2=0,a3=0,a4=0,a5=-1,f0=0,f1=1,f11=0,f2=0;
cin>>N;
while(N--)
{
cin>>num;
if(num%5==0)
{
if(num%2==0)
{
a1+=num;
f0=1;
}
}else if(num%5==1)
{
a2+=f1*num;
f1=f1*(-1);
f11=1;
//cout<<f1<<" "<<num<<endl;
}else if(num%5==2)
{
a3++;
}else if(num%5==3)
{
a4+=num;
f2++;
}else if(num%5==4)
{
a5=max(a5,num);
}
}
if(f0==0)
cout<<"N";
else
cout<<a1;
cout<<" ";
if(f11==0)
cout<<"N";
else
cout<<a2;
cout<<" ";
if(a3!=0)
cout<<a3;
else
cout<<"N";
cout<<" ";
if(f2==0)
cout<<"N";
else
printf("%.1lf",(double)a4/f2);
cout<<" ";
if(a5==-1)
cout<<"N"<<endl;
else
cout<<a5<<endl;
return 0;
}