精华内容
下载资源
问答
  • C语言素数判定

    2021-03-13 13:04:11
    C语言素数判定 #include <iostream> #include <cstdio> #include <cmath> using namespace std; typedef long long LL; bool isPrime(LL n) { if (n == 0 || n == 1) return false; else if...

    素数判定

    #include <iostream>
    #include <cstdio>
    #include <cmath>
    
    using namespace std;
    
    typedef long long LL;
    
    bool isPrime(LL n)
    {
        if (n == 0 || n == 1)
            return false;
        else if (n == 2)
            return true;
        else
        {
            for (LL i = 2; i <= sqrt(n); i++)
                if (n % i == 0)
                    return false;
        }
    
        return true;
    }
    
    int main(void)
    {
        LL n;
        cin >> n;
    
        if (isPrime(n))
        {
            printf("%d is a prime number!", n);
        }
        else
        {
            cout << n << "=";
            for (LL i = 2; n != 1;)
            {
                if (n % i == 0)
                {
                    cout << i;
                    if (n != i)
                        cout << "*";
    
                    n /= i;
                }
                else
                    i++;
            }
        }
    
        return 0;
    }
    
    展开全文
  • C语言素数判定

    2020-11-01 15:26:48
    C语言素数判定 题目描述 输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。 输入 输入一个正整数n(n<=1000) 输出 如果n是素数输出"Yes",否则输出"No"。输出占一行。 样例输入 2 ...

    C语言素数的判定

    题目描述
    输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。
    输入
    输入一个正整数n(n<=1000)
    输出
    如果n是素数输出"Yes",否则输出"No"。输出占一行。
    样例输入
    2
    样例输出
    Yes

    #include<stdio.h>
    #include<math.h>
    int main()
    {
        int n,a,b,c;
        scanf("%d",&n);
        a=sqrt(n+1);//利用合数必然有一个大于平方根和一个小于平方根或相等的两个因数相乘得到。
        for(b=2;b<=a;b++)//循环筛选能被1和该数的平方根之间的因数整除。
           {
               if(n%b==0)
                break;//说明该数必为合数
           }
            if(b<=a||n==1)//如果1到n的平方根之间有一个数能整除,则不是素数;由于定义了n为整形,1在上边循环体输出是0的类型。这里排除它。
                printf("No\n");
            else//1到n的平方根之间不存在一个数能整除,则为素数
                printf("Yes\n");
        return 0;
    }
    

    原因也很简单啊 所有偶数都是质数相乘得出来的!

    展开全文
  • //方法三 素数在6的左右 bool isPrime_3(int num) {  if(num==2||num==3)  return 1;  if(num%6!=1||num%6!=5)  return 0;  int tmp=sqrt(num);  for(int i=5;i;i+=6)  if(num%i==0||num%(i+2)==0) ...

    //方法一 定义
    bool isPrime_1(int num)
    {
        int tmp=num-1;
        for(int i=2;i<=tmp;i++)
        if(num%i==0)
        return 0;
        return 1;
    }
    //方法二 定义
    bool isPrime_2(int num)
    {
        int tmp=sqrt(num)+0.5;
        for(int i=2;i<tmp;i++)
            if(num%i==0)
            return 0;
        return 1;
    }
    //方法三 素数在6的左右
    bool isPrime_3(int num)
    {
        if(num==2||num==3)
            return 1;
        if(num%6!=1||num%6!=5)
            return 0;
        int tmp=sqrt(num);
        for(int i=5;i<tmp;i+=6)
            if(num%i==0||num%(i+2)==0)
            return 0;
    }
    //方法四 埃拉筛法
    #include<iostream>
    #include<cmath>
    using namespace std;
    bool p[100001];
    int n,sn,tot;
    int main()
    {
        cin>>n;
        sn=sqrt(n+0.5);
        for(int i=2;i<=n;i++) p[i]=true;
        for(int i=2;i<=sn;i++)if(p[i])for(int j=i*i;j<n;j+=i)p[j]=false;
        for(int i=2;i<=n;i++)if(p[i]) tot++;
        cout<<tot<<endl;
        return 0;
    }

    //方法五 欧拉筛选(线性筛选)

    展开全文
  • C语言素数判定

    2019-02-24 20:39:00
    C语言素数判定 题目:素数判定。 编写函数,参数是一个正整数n,如果它是素数,返回1,否则返回0。 分析 质数概念: 质数:除了1之外,只能被它本身整除的正数称为质数 如果这个数能被其他正数整除,...

    【C语言】素数判定

    题目:素数判定。 编写函数,参数是一个正整数n,如果它是素数,返回1,否则返回0。

    分析

    质数概念:

    质数:除了1之外,只能被它本身整除的正数称为质数

    如果这个数能被其他正数整除,说明这个数有两个或以上的因数,
    开平方可以减少判断次数
    比如:6这个数除了1之外还有2,3,6三个因子,因为只需要判断除了他本身以外的
    其他因子有无即可。所以在2到根号6之间有2这个因子,所以6这个数不是质数
    #include <stdio.h>
    #include <math.h>
    
    int is_prime(int n) { 
        // 如果这个数小于等于1,直接返回0 
        if(n <= 1) return 0;
        int m = (double)floor(sqrt(n) + 0.5); 
        for(int i = 2; i <= m; i++) {
            if(n % i == 0) return 0;
            return 1;
        }
    } 
    int main()
    {
        printf("%d\n",is_prime(5));
        return 0;
    }

     

    展开全文
  • 素数判定 C语言实现

    2020-02-26 20:09:13
    对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39),判定该表达式的值是否都为素数。 Input 输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。 ...
  • 素数判定C语言与python

    2021-01-15 11:19:16
    题目: 对任意一个大于3的数,判断它是否是素数 分析: (1) 素数:除了1和本身,不能被任何其他数整除 (2) 假设数字是 n, 只用检测是否被 2 ~ ...// 素数判定 int main() { // 1.获取n的值 int n, i; print
  • 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39),判定该表达式的值是否都为素数。 Input 输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。 ...
  • 一,素数的定义:在大于1的自然数中,除了1和它本身以外不再有其他因数的数。即对于数N,在2~N-1范围内找不到一个数i符合N%i==0。 二,根据以上定义,我们可以写出判断素数的函数: bool isprime(int x) { if(x&...
  • C语言-素数判定

    2021-03-11 12:59:06
    给你两个数a、b,现在的问题是要判断这两个数组成的区间内共有多少个素数 输入 多组测试数据。 每个测试数据输入两个数a、b。(2<=a,b<=1000) 输出 输出该区间内素数的个数。 #include<stdio.h> void ...
  • C语言素数判定

    2020-03-09 15:44:09
    素数又称质数。所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数,例如17就是素数,因为它不能被 2~16 的任一整数整除。 思路1):因此判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除...
  • Problem:将试除法判断素数时间复杂度优化到O(n^1/2) 配置环境:Visual Studio Enterprise 2019 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> int isPrime(int x); //...
  • 本篇介绍如何判断一个整数是否为素数。提供了几种方法,采取逐步优化的方法。
  • C语言实现素数判定

    千次阅读 2018-12-23 13:11:21
    简单判断某个数是否为素数 void main() { int n, j; scanf(&quot;%d&quot;,&amp;amp;n); for(j =2; j &amp;lt; n; j++) //for(j =2; j &amp;lt;= n-1; j++) if(n%j == 0) break; ...
  • 早年练手作品,写的不好,但是原创。 /*编程序时,先将这些函数粘贴在开头*/ /*阶乘,返回值是long型*/ .../*素数,返回1为真,0为假*/ int pan_ding_su_shu(int x) { int counter=0, n; for(n=2;n<
  • 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39),判定该表达式的值是否都为素数。 Input 输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。 ...
  • 素数判定 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 237698 Accepted Submission(s): 84270 Problem Description 对于表达式n^2+n+41,当n在(x,y)...
  • C语言素数判定 题目: 给定一个正整数N,你能判断它是否是素数吗? 建议写一个函数来实现判断素数的功能。 Input 输入首先包含一个正整数C(C<=20),表示有C组测试用例。 接下来C行,每行包括一个正整数N(N<=...
  • 题目描述 写一个判断素数的函数,在主函数...C语言 题目截图: 思路: 找一个数进行作为参照!判断是素数后,进行修改~ 然后依据这个来进行判断输出! 然后,进行判断!if(s%i==0&amp;&amp;s!=i) 代码...
  • hdu 2012 素数判定 点击做题网站链接 题目描述 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Description 对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 150
精华内容 60
关键字:

c语言素数判定

c语言 订阅