PAT 乙级 1013 数素数

发布时间:2023年12月17日

在这里插入图片描述

解题思路,简单素数判定,计算数量 输出就可以了

#include<stdio.h>
int prime(int n)
{
	int i,flag=1;
	for(i=2;i*i<=n;i++)
	{
		if(n%i==0)
		{
			flag=0;
			break;
		}
	}
	return flag;
	
}
int main()
{
	int n,m,amont=2,count=0,space=0;
	scanf("%d %d",&n,&m);
	while(count<n-1)
	{
		if(prime(amont))
		{
			
			count++;
		}
		amont++;
	}
	
	while(count<m)
	{
		if(prime(amont))
		{
		    
			count++;
			space++;
			if(space%10!=0&&count!=m)
			printf("%d ",amont);
			else
			printf("%d\n",amont);
			
		}
		amont++;
	}
	return 0;
}

python代码思路一样但是某个数据超时

def prime(n):
    flag=True
    i=2
    if(n<2):
        flag=False
    else:
        while(i*i<=n):
            if n%i==0:
                flag=False
                break
            i=i+1
    return flag

s=input().split()
n=int(s[0])
m=int(s[1])
count=0;
space=0;
a=2
while(count<n-1):
    if(prime(a)):
        count=count+1
    a=a+1
while(count<m):
    if(prime(a)):
        count+=1
        space+=1
        if space%10!=0 and count!=m:
            print(a,end=' ')
        else:
            print(a)
    a=a+1
        

文章来源:https://blog.csdn.net/qq_44063802/article/details/134977664
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。