全国高校程序设计大赛 素数和偶数
题目描述
输入N个整数, 分2行分别输出其中的素数和偶数。
输入说明:第一行输入整数个数N; 第二行输入这N个整数;
输出说明:第一行输出素数, 第二_行输出偶数;备往:行如果没有任何数据,输出空行。
输入样例:
10
11 12 13 24 25 26 37 38 39 40
输出样例:
11 13 37
12 24 26 38 40
代码提交说明
代码提交说明:
1.请严格按照每道题目给出的输入/输出样例编写相关I/O代码,数字间的默认间隔是一个空格, 浮点数的默认输出精度是保持小数点后2位。样例以外的提示信息请不要在屏幕上输出。
2.请大家确保提交的代码可以在指定的编译条件下正确地编译执行,否则自动评测程序将给出编译错误或运行时错误的信息。
3.每道编程题目,如果没有特殊说明,需要在1秒内完成程序的运行和输出结果,超过这个时间限制将会被判超时,失去相应测试用例的分数。每个可执行文件可使用的空间不得大于1MB。
4.每道编程题会有多个测试用例,每通过一些测试用例可以获得 相应的分值,只有通过全部测试用例才能拿到这题全部的分数。
题目思路
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
string str1, str2;
int i, T;
void fun1(int n)
{
if (n < 2)return;
if (n == 2) {
str1 += "2";
if (i + 1 != T)
str1 += " ";
return;
}
int t = sqrt(n);
for (int i = 2; i <= t; i++)
{
if (!(n % i))
return;
}
str1 += to_string(n);
if (i + 1 != T)
str1 += " ";
}
void fun2(int n)
{
if (n % 2 == 0)
{
str2 += to_string(n);
if (i + 1 != T)
str2 += " ";
}
}
int main()
{
cin >> T;
for (i = 0; i < T; i++) {
cin >> a[i];
fun1(a[i]);
fun2(a[i]);
}
cout << str1 << endl << str2;
return 0;
}