请问如何用C求素数?

来源:百度知道 编辑:UC知道 时间:2024/09/21 23:12:46
请问如何在MATH.H和STIO.H下输入一个数字,然后判断其是不是素数?然后在把这个数字分解成单数?比如我输入1011,判断这个是个素数,然后在把1011分解成1,0,1,1这样?

希望能有完整的程序,谢谢

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

int main(void)
{
int k;
int n, i;

printf("请输入您要求得的数:\n");
scanf("%d",&n);

k = sqrt(n + 1);

for (i = 2; i <= k; i++)
{
if (n%i == 0) break;
}
if (i>=k+1) printf("%d 是一个素数!\n",n);
else printf("%d 不是一个素数!\n",n);

return 0;
}

#include "stdio.h"
#include "math.h"

#define N 10

//判断n是否为素数
int Prime(int n)
{
int i;

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

//将n每位分离到数组a[]中
void split(int n,int a[])