写一个函数int prime(int x),判断数值x是否素数,如果是返回1,否则返回0。

1.写一个函数intprime(intx),判断数值x是否素数,如果是返回1,否则返回0。并在main()函数中求出数字12461是否素数。提示:素数又称质数,是指一个大... 1. 写一个函数int prime(int x),判断数值x是否素数,如果是返回1,否则返回0。并在main()函数中求出数字12461是否素数。
提示:素数又称质数,是指一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除(除0以外)的数称之为素数(质数),如3=1*3,5=1*5,而9=1*9和9=3*3,9就不是素数。
展开
 我来答
百度网友8c58a1c
2019-09-24 · TA获得超过5288个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

源代码如下:

#include <stdio.h>

#include <math.h>

int prime(int x)

{ int i;

 for(i=2;i<x;i++)  

if(x%i==0)

 return 0; 

 else return 1; }

main()

{

 int x,m;

 printf("请输入需要判断的数字:\n"); 

scanf("%d",&x);

 m=prime(x);

 if(m==1)

{  printf("%d是素数\n",x); }

else

{  printf("%d不是素数\n",x); } }


扩展资料:

素数性质

质数的个数是无穷的。欧几里得的《几何原本》中有一个经典的证明。它使用了证明常用的方法:反证法。具体证明如下:假设质数只有有限的n个,从小到大依次排列为p1,p2,……,pn,设N=p1×p2×……×pn,那么,

是素数或者不是素数。


如果

为素数,则

要大于p1,p2,……,pn,所以它不在那些假设的素数集合中。


1、如果 为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,……,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。

2、其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。

参考资料来源:百度百科-C语言

百度百科-质数

ahcc08
推荐于2017-12-18 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51941
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
#include <stdio.h>

// 是否是素数 
int prime(int x)
{
    if(x < 2)
    {
        return 0;
    }
    for (int i=2;i*i<=x;i++)
    {
        if(x % i == 0)
        {
            return 0;
        }
    }
    return 1;
}

int main()
{
    if (0 == prime(12461))
    {
        printf("12461 不是 素数\n");
    }
    else{

        printf("12461 是 素数\n");
    }
    return 0;
}

运行结果如下:


欢迎采纳!

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
可恶的考试9
2014-06-08 · 超过32用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:67.7万
展开全部
int prime(int x)
{
    int half = x/2;
    
    int i = 3;
    if ((x % 2) == 0 && (x != 2))
    {
        return 0;
    }
    if (x == 2)
    {
        return 1;
    }
    
    for (;i <= half;i+= 2)
    {
        if ((x % i) == 0)
        {
            return 0;
        }
    }
    return 1;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
代写python项目
2020-02-22 · 我命由我,畅游在知识的海洋里。
代写python项目
采纳数:0 获赞数:0

向TA提问 私信TA
展开全部
package com.main3;
import java.util.Scanner;
public class M_ss {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
for (int i = 0; i <2; i++) {
System.out.println("请输入要判断的数:");
int x=input.nextInt();
sushu(x);}
}
static void sushu(int x) {
boolean flag=true;
int x1=x/2;
for (int i=2; i <=x1; i++) {
if(x%i==0)
flag=false;}
if(flag)
System.out.printf("%d是素数。\n",x);
else
System.out.printf("%d不是素数。\n", x);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友57a2c15d6
2014-06-08 · TA获得超过1850个赞
知道大有可为答主
回答量:2135
采纳率:0%
帮助的人:1919万
展开全部
#include<math.c>

int prime(int x)
{
int i;

for(i=2;i<=sqrt(x);i++)
{
if(x%i==0)
return 0;

}

return 1;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式