prime,素数的判断——c语言

输入一个数a,求他是否是素数(用函数)

程序:

#include<stdio.h>

int prime(int a)-----------------------------------//定义一个prime的自定义函数

{

int i,y=0;

for(i=1;i<=a;i++)

{

if(a%i!=0)

y++;

}------------------------------------------//判断是不是素数

return y;----------------------------------//返回值为y

}

int main()

{

int x,i;

scanf("%d",&x);---------------------------//读一个数

i=prime(x);----------------------------------------------//用prime函数来判断x

if(i==2)

printf("true");

else

printf("false");---------------------------------------------//用值来判断x

return 0;

}

我又改了一道题:

求a到b中所有素数!

程序:

#include<stdio.h>

int Allprime(int a)---------------------------------------------------//定义一个allprime的自定义函数

{

int i,y;

for(i=2;i*i<=a;i++)

{

if(a%i==0)

{y=0;break;}

}-------------------------------------------------------------//用循环来判断是否是素数

if(i*i>a)

y=1;

return y;

}

int main()

{

int x,y,k,i;

scanf("%d %d",&x,&y);------------------------------------//读两个数

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

{

k=Allprime(i);

if(k==1)

printf("%d ",i);

}----------------------------------------------------//用Allprime函数来判断a到b之间的书

return 0;

}

我一定会在将来的路上继续努力,得到更多的成功,加油!O(∩_∩)O哈!0(^_^)0哈!

时间: 2024-08-24 18:50:48

prime,素数的判断——c语言的相关文章

大神新交了一个素数的判断方法

1 int prime(int n)//判断是否为素数 2 { 3 int i; 4 for(i = 1; i < sqrt((double)n);i++) 5 { 6 if (n % i == 0 ) 7 { 8 return 0; 9 } 10 } 11 return 1; 12 } 然而,他并没有给我解决了我之前素数中的问题,

2015.07.15——prime素数

prime素数 1.素数也叫质数,定义是一个数只能被1和它自身整除. 素数从2开始,0,1都不是素数. 2.素数的判断(C++) 3.给定某个数,求小于这个数的所有素数 2.素数的判断(C++) 1 bool IsPrimer(int n) 2 { 3 int m=sqrt(n); 4 for(int i=2;i<=m;i++) //只看从0-sqrt(n) 5 { 6 if(n%i==0) return false; //被1,n之外的数整除 7 } 8 return true; 9 } 不需

Num 19: 最大公约数.最小公倍数.素数的判断

在c语言的学习之中,经常会碰到: 计算最大公约数,最小公倍数和素数判断的问题: 在这里由浅入深总结一下: 1. 最大公约数与最小公倍数 : 由数学知识我们知道:       两个数的最小公倍数 = 这两个数的乘积 / 两个数的最大公约数:    所以求最大公约数和最小公倍数的问题其实是一类问题:  ①.最小公倍数:      方法一:        若 x>y ,从 x开始,判断x能否被y整除(x%y==0):        若能够整除,x既为最小公倍数:        若不能整除,计算2x,3

[转] 多种方法实现素数的判断

素数的定义: 指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.换句话说,只有两个正因数(1和自己)的自然数即为素数. 我将给出几种实现对自然数n进行素数的判断方法,主要从代码的执行效率上考虑这个问题. 首先,根据素数的定义,大家都会想到的一个方法就是遍历2~n-1,如果n能被其中的数整除,则n不是素数,否则为素数. 代码: //方法1(遍历)int prime_1(int n){ for(int i=2;i<n;i++) { if( n%i==0 ) return

对素数的判断和素数个数的判断

应该说这是比较高效的解题方法了吧. 素数个数计数: class Solution { public:     int countPrimes(int n) {        bool* a = new bool[n];        for(int i=2; i*i<n; i++) {           if(!a[i]) {               for(int j=i; i*j<n; j++) {                   a[i*j] = true;          

多种方法实现素数的判断

原文:多种方法实现素数的判断 素数的定义: 指整数在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数.换句话说,只有两个正因数(1和自己)的自然数即为素数. 我将给出几种实现对自然数n进行素数的判断方法,主要从代码的执行效率上考虑这个问题. 首先,根据素数的定义,大家都会想到的一个方法就是遍历2~n-1,如果n能被其中的数整除,则n不是素数,否则为素数. 代码: 1 //方法1(遍历) 2 int prime_1(int n) 3 { 4 for(int i=2;i<n;i+

素数的判断(大数据,大规模)

素数的判断其实谁都会,所以这篇跳过简单的素数判断,直接学习如何快速判断1到N的素数,以及判断大数据是否为素数. 现在我们先学习埃氏筛选法,此法实用与大规模判断素数,比如1到N的素数有那些啊,等等等等. 这个算法流弊哦,与辗转相除法一样古老哇. 首先,将2到n范围内的所有整数写下来.其中最小的数字2是素数,将表中2的倍数都划去.表中剩余的最小数字是3,不能被更小的数整除,是素数.如果表中最小的是m,m为素数,将m的倍数划去. 2 3 4 5 6 7 8 9 10 11 12 2 3 - 5 - 7

POJ1811 Prime Test(判断随机素数)

题意:给出一个N(2 <= N < 2^54),如果是素数,输出"Prime",否则输出最小的素因子 膜拜斌巨 #include <iostream> #include <cstdio> #include <cstring> #include <string> #include <queue> #include <cmath> #include <stdlib.h> #include <

Java 求1-100以内的所有素数,判断一个数是不是素数

质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数. 小师弟问了我个这么个联系题,虽然看似简单,但是,大家都觉得简单的东西,没必要分享的话,那初学者,不是很痛苦吗? 所以,我就给小师弟示范了一下.方便初学者,看看怎么写代码. 代码内部的细节(都是针对没开始工作,或者刚刚工作的哥们): 1,模块化思想. 先拆分需求,本来让你求1-100以内的素数,你不能上来就干,先拆分先考虑怎么确定一个数是不是素数,然后再复用到所有.