问题 A: 素数

余生长醉 提交于 2020-01-30 22:10:57

问题 A: 素数

时间限制: 1.000 Sec  内存限制: 32 MB
提交: 1114  解决: 379
[提交] [状态] [命题人:外部导入]

题目描述

输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。

输入

输入有多组数据。
每组一行,输入n。

输出

输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。

样例输入 Copy

70

样例输出 Copy

11 31 41 61

 

 

#include <iostream>
#include <stdio.h>
#include <vector>
#include <stdlib.h>
using namespace std;
bool isSu(int m)
{
    for(int j=2; j<m; j++)
    {
        if(m%j==0)
            return false;
    }
    return true;
}
int main(int argc, char *argv[])
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        vector<int> aa;
        for(int i=2; i<n; i++)
        {
            if(isSu(i)&&(i-1)%10==0)
            {
                aa.push_back(i);
            }
        }
        int l=aa.size();
        bool first = true;
        int s=aa.size();
        if(s<1)
        {
            printf("-1");
        }
        else
        {
            for(vector<int>::iterator it=aa.begin(); it!=aa.end(); it++)
            {
                if(!first)
                    printf(" ");
                else
                    first = false;
                printf("%d",*it);
            }
        }

        printf("\n");
    }
    return 0;
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!