PAT_B_1013 數素數

題目描述:spa

令 P​i​​  表示第 i 個素數。現任給兩個正整數 M≤N≤10^​4​​ ,請輸出 P​M​​  到 P​N​​  的全部素數。
輸入格式:
輸入在一行中給出 M 和 N,其間以空格分隔。
輸出格式:
輸出從 P​M​​  到 P​N​​  的全部素數,每 10 個數字佔 1 行,其間以空格分隔,但行末不得有多餘空格。
輸入樣例:
5 27
輸出樣例:
11 13 17 19 23 29 31 37 41 43
47 53 59 61 67 71 73 79 83 89
97 101 103

本人AC代碼:blog

//  輸出第 M 到 第 N 個 素數

# include <stdio.h>
# include <math.h>

int Is_Prime(int);

int main(void)
{
	int i;
	int N1, N2;
	int n = 105000; 
	int flag = 0;
	int flag_ch = 0;
	
	scanf("%d %d",&N1,&N2);
	
	for (i=1; i<n; i++)	
	{
		if (Is_Prime(i))
		{
			flag++;
			if (flag>N1 && flag<=N2+1)
			{
				flag_ch++;
				printf("%d",i);
				if (flag_ch<10 && flag!=N2+1)
				{
					printf(" ");
				}
				else
				{
					printf("\n");
					flag_ch -= 10;
				}
			}
					
		}
			
	}
	return 0;
}

int Is_Prime(int n)
{
	int i = 1;
	int temp = sqrt(n);
	
	for (i=2; i<=temp; i++)	
	{
		if (n%i == 0)
			return 0;
	}
	return 1;
}

RRRio

相關文章
相關標籤/搜索