用字符型数组求300以内所有质数的C语言编程,急
发布网友
发布时间:2024-10-24 01:58
我来回答
共2个回答
热心网友
时间:2024-11-07 08:56
给你写一个用字符数组的,采用筛法求解
#include <stdio.h>
#include <math.h>
#define N 300
void main( )
{
char IsPrime[N + 1];
int i, j, s;
IsPrime[0] = IsPrime[1] = 0;
for(i = 2; i <= N; i++)
IsPrime[i] = 1;
for(i = 2, s = sqrt(N); i <= s; i++)
{
if(IsPrime[i]) {
for(j = 2 * i; j <= N; j += i)
IsPrime[j] = 0;
}
}
printf("%d以内的素数有:\n", N);
for(i = 2; i <= N; i++)
if(IsPrime[i])
printf("%d\t", i);
printf("\n");
}
热心网友
时间:2024-11-07 08:49
#include<stdio.h>
#include<math.h>
int Fact(int n);
int main()
{
for(int i = 1;i <= 300;++i)
{
int ret = Fact(i);
if(ret == -1)
printf("%d\t ",i);
}
return 0;
}
int Fact(int n)
{
int a;
for(a=2;a<=sqrt((float)n);a++)
{
if(n % a == 0)
return 1;
}
return -1;
}