1.问题:1012 数字分类
2.关键:完全不考虑算法,逻辑流程熟悉即可
3.代码:
#include<iostream>
#include<bits/stdc++.h>
#include<vector>
#include<cmath>
using namespace std;
int main(){
int c1=0,c2=0,c3=0,c4=0,c5=0;
int n,maxn=-1;
int a1=0,a2=0,a3=0,a4=0,a5=0;
int ch;
cin>>ch;
while(ch--)
{
cin>>n;
if(n%5==0 && n%2==0){
a1+=n;
c1++;
}
else if(n%5==1){
a2+=pow(-1,c2)*n;
c2++;
}
else if(n%5==2){
c3++;
}
else if(n%5==3){
a4+=n;
c4++;
}
else if(n%5==4){
a5=max(n,maxn);
maxn=a5;
c5++;
}
}
if(c1==0){
printf("N ");
}
else{
printf("%d ",a1);
}
if(c2==0){
printf("N ");
}
else{
printf("%d ",a2);
}
if(c3==0){
printf("N ");
}
else{
printf("%d ",c3);
}
if(c4==0){
printf("N ");
}
else{
printf("%.1lf ",(double)a4/(double)c4);
}
if(c5==0){
printf("N");
}
else{
printf("%d",a5);
}
return 0;
}
1.问题:1013 数素数
2.关键:
- 素数判断
- 计数count,根据count取值判断条件
注意:只能得19分,有一分显示答案错误,望指正。
3.代码:
#include<iostream>
#include<bits/stdc++.h>
#include<vector>
#include<cmath>
using namespace std;
bool isprimes(int m){
double s=floor(sqrt(m));
for(int i=2;i<=s;i++){
if(m%i==0){
return false;
}
}
return true;
}
int main(){
int m,n;
int flag=1;
cin>>m>>n;
int i;
int count=0;
for(i=2;i<=10000;i++)
{
if(isprimes(i))
{
count++;
if(count>=m && count<n){
if(flag%10==0)
{
cout<<i<<endl;
}
else
{
cout<<i<<" ";
}
flag++;
}
else if(count==n){
cout<<i<<endl;
break;
}
}
}
return 0;
}