1012 数字分类 (20 分)
分析:
emmmm好像也没啥好说的,但是这个while(cin)的用法还是有点奇怪,自己编译器过不了,oj上却过了
代码:
#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
int main()
{
vector<int> A1,A2,A3,A4,A5;
int a;
int count;
cin>>count;
while(cin>>a)
{
if(a%5==0)
A1.push_back(a);
else if(a%5==1)
A2.push_back(a);
else if(a%5==2)
A3.push_back(a);
else if(a%5==3)
A4.push_back(a);
else if(a%5==4)
A5.push_back(a);
}
if(A1.size()==0||A1.size()==1)
cout<<"N ";
else
{
int sum1=0;
for(int i=0;i<A1.size();i++)
{
if(A1[i]%2==0)
sum1+=A1[i];
}
cout<<sum1<<' ';
}
if(A2.size()==0)
cout<<"N ";
else
{
int sum2=0;
bool flag2=true;
for(int i=0;i<A2.size();i++)
{
if(flag2)
{
sum2+=A2[i];
flag2=false;
}
else
{
sum2-=A2[i];
flag2=true;
}
}
cout<<sum2<<" ";
}
int counts3=0;
if(A3.size()==0)
cout<<"N ";
else
cout<<A3.size()<<" ";
if(A4.size()==0)
cout<<"N ";
else
{
double sum4=0;
for(int i=0;i<A4.size();i++)
sum4+=A4[i];
printf("%.1lf ",sum4/A4.size());
}
if(A5.size()==0)
cout<<"N";
else
{
int max=A5[0];
for(int i=1;i<A5.size();i++)
{
if(A5[i]>max)
max=A5[i];
}
cout<<max;
}
}
1013 数素数
分析:
是第m个素数到第n个素数,不是m到n中的素数。每十个一个换行,每一批的第一个不输出空格。
代码:
#include<bits/stdc++.h>
typedef long long LL;
using namespace std;
bool isprime(int n)
{
bool flag=true;
for(int i=2;i<=sqrt(n);i++)
{
if(n%i==0)
{
flag=false;
break;
}
}
return flag;
}
int main()
{
int m,n;
cin>>m>>n;
for(int i=2,counts=0;counts<n;i++)
{
if(isprime(i))
{
counts++;
if(counts>=m)
{
if((counts-m+1)%10!=1)
cout<<" ";
cout<<i;
if((counts-m+1)%10==0)
cout<<endl;
}
}
}
}