@chawuciren
2018-10-13T13:41:44.000000Z
字数 844
阅读 676
未分类
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
unsigned int isprimes(unsigned int n);
unsigned int* Preservation(unsigned int n);
unsigned main()
{
unsigned int n = 0;
unsigned int number = 0;
scanf("%u", &n);
number = isprimes(n);
if (number == 1)
{
printf("这是一个素数\n");
}
else
{
printf("这不是一个素数\n");
}
unsigned int*primes = Preservation(n);
printf("1\n");
for(unsigned int i=0;i<n;i++)
{
if (primes[i] == 0)
break;
printf("%u\n", primes[i]);
}
system("pause");
return 0;
}
unsigned int isprimes(unsigned int n)
{
unsigned int result = 1;
unsigned int t = (unsigned int)sqrt(n) + 1;
for (unsigned int i = 2; i < t; i++)
{
result = n % i;
if (result == 0)
return 0;
}
return 1;
}
unsigned int* Preservation(unsigned int n)
{
unsigned int *Pnumber = (unsigned int*)malloc(n * sizeof(unsigned int));
unsigned int i = 0;
unsigned int t = 2;
while (t <= n)
{
unsigned int temp = isprimes(t);
if (temp == 1)
{
Pnumber[i] = t;
i = i + 1;
}
t = t + 1;
}
return Pnumber;
在此输入正文