1426 - C语言-筛法求素数

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

用筛法求之N内的素数。

题目输入

N

题目输出

0~N的素数

输入/输出样例

输入格式

100

输出格式

2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97

C语言解答

#include<stdio.h>
int main()
{
	int i,j,n,flag;
	while(scanf("%d",&n)!=EOF)
	{
		for(i=2;i<=n;i++)
		{
			flag=1;
			for(j=2;j*j<=i;j++)
				if(i%j==0)
					flag=0;
			if(flag)printf("%d\n",i);
		}
	}
	return 0;
}

C++解答

#include <iostream>
using namespace std;
int main() 
{	
	int i,j;
	int a;
	cin>>a;
	for(i=2;i<=a;i++)
	{
		for(j=2;j<=i;j++)
		{
			if(i%j==0&&i!=j)
				break;
			else if(i==j)
				cout<<i<<endl;
		}
	}
	return 0;
}

Java解答


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		 int N,m,i,k;
		 N=in.nextInt();
		 for(m=2;m<=N;m++) 
		 {  
			 k=1;  for(i=2;i<m;i++)  
		 {   if(m%i==0)    k=0;  }  
			 if(k!=0)   
				System.out.println(m);}
		
	}
}