九度OJ--1163(C++)
Posted LZ_Jaja
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了九度OJ--1163(C++)相关的知识,希望对你有一定的参考价值。
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
while(cin>>n) {
vector<int> vec;
int num = 0; // num用来记录1~n中共有多少个符合要求的素数,其实只是0和非0的区别
for(int i=11; i<n; i++) {
int flag = 0; // flag意在判断对于某个整数i是否为素数,若为素数flag=1,否则flag=0
for(int k=2; k<i/2+1; k++) { // 若判定条件为k<sqrt((double)i),则结果错误
// 一旦除尽证明i不是素数,判断下一个i即可
if(i%k == 0) {
flag = 0;
break;
}
// 若没有除尽,则继续循环
else {
flag = 1;
continue;
}
}
if(flag == 0) { // i不是素数
continue;
}
else { // i是素数
if(i%10 == 1) { // i的个位是1
vec.push_back(i);
num = num + 1;
continue;
}
else { //i的个位不是1
continue;
}
}
}
if(num == 0) {
cout<<"-1"<<endl;
}
else {
for(int m=0; m<vec.size()-1; m++) {
cout<<vec[m]<<" ";
}
cout<<vec[vec.size()-1]<<endl;
}
}
return 0;
}
以上是关于九度OJ--1163(C++)的主要内容,如果未能解决你的问题,请参考以下文章