http://ac.jobdu.com/problem.php?pid=1163
-
题目描述:
-
输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。
-
输入:
-
输入有多组数据。
每组一行,输入n。
-
输出:
-
输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。
-
样例输入:
-
100
-
样例输出:
-
11 31 41 61 71
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int n, i, j, flag = 0, result[1000], m = 0;
ifstream cin("data.txt");
while (cin >> n)
{
flag = 0;
m = 0;
for (i = 11; i < n; i += 10)
//判断i是否为素数
{
for (j = 2; j < i; j++)
if (i % j == 0) // 不是
break;
if (j == i) //是
{
result[m++] = i;
flag = 1;
}
}
if (flag == 0)
cout << "-1" << endl;
else
{
for (i = 0; i < m - 1; i++)
cout << result[i] << " ";
cout << result[i] << endl;
}
}
system("pause");
return 0;
}