用C语言写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。
#include
int sushu(int);
main()
{
int a;
printf("输入一个整数:");
scanf("%d",&a);
if(sushu(a)==1)
printf("是素数");
else
printf("不是素数");
}
int sushu(int x)
{
int i;
for(i=2;i<x;i++)
{
if(x%i==0)
return 0;
}
return 1;
}
先建立一个初始的素数表,例如:100以内的素数数组,用来快速判断是否是素数对于超过100的素数,算法,用不大于根号n的素数,对n进行试除,如果都不能除尽,则为素数。
#include
#include
//判断是否为素数的函数
int isPrime(int n)
{
int i=2;
while(i<=(int)sqrt(n))
{
if(n%i == 0)
return 0; //不是素数,直接返回0
else
i++;
}
return 1;
}
int main()
{
int n;
printf("输入一个正整数: ");
scanf("%d",&n);
if(isPrime(n))
printf("%d is a prime number
",n);
else
printf("%d is not a prime number
",n);
return 0;
}
扩展资料;
首先,本文英文字母都表示整数,上半部B 》3N 》W,下半部B 》W 》3N。大于3的素数只有6N-1和6N+1两种形式,我们只需判定这两种数是素数还是合数即可。
命题 1 对于B=36N+1 形数而言。
若不定方程(3N)^2+N-(B-1)/36=W^2 有整数解,
则 6(3N-W)+1 是小因子数;6(3N+W)+1 是大因子数。
若不定方程 (3N)^2-N-(B-1)/36=W^2 有整数解,
则 6(3N-W)-1 是小因子数;6(3N+W)-1 是大因子数。
参考资料来源:百度百科-质数
输出是否素数的信息的源代码如下:
#include <stdio.h>
#include <stdbool.h>
bool prime(int x){
if (2 > x ) {
return false;
}
for (int i = 2; i < x ; i++) {
if (0 == x % i ) {
return false;
}
}
return true;
}
int main(){
for (int i = 2; i < 100; i++) {
if (prime(i)) {
printf("%d ",i);
}
}
printf("
");
return 0;
}
扩展资料
1、函数的使用可以身故重复代码的编写。
2、函数使得程序更加模块化,有利于程序的阅读修改和完善。
3、素数就是没有因子的数,只能被1和本身整除,所以我们就可以用循环解决,循环用于从2到他的根式判定是否有其他数可以整除它,有就跳出循环。
1 根据数学定义,得到判断素数的函数。
2 主函数中输入整数。
3 调用函数判断
4 根据返回值,输出结果。
代码:
#include <stdio.h>
#include <math.h>
int is_prime(int n)
{
int i;
for(i = 2; i <= sqrt(n); i ++)
if(n%i == 0) return 0;
return 1;
}
int main()
{
int i;
scanf("%d",&i);
if(is_prime(i))printf("%d是素数
", i);
else printf("%d不是素数
", i);
return 0;
}
main()
{
int i,x=0;
clrscr();
printf("Please input a number(x>1):\n");
scanf("%d",&x);
while(x<2)
{
clrscr();
printf("ERROR!!!Please input again!\n");
printf("Please input a number(x>1):\n");
scanf("%d",&x);
}
for(i=2;i<x-1;i++)
{
if(x%i==0)
{
printf("The number is not a SUSU.");
i=1;
break;
}
}
if(i!=1)
{
printf("The number is a SUSU.");
}
getch();
}
判断素数的方法
M 他不能被0-M/2之间的数整除就是素数
程序就是循环相套
#include<stdio.h>
int
sushu(int);
main()
{
int
a;
printf("输入一个整数:");
scanf("%d",&a);
if(sushu(a)==1)
printf("是素数");
else
printf("不是素数");
}
int
sushu(int
x)
{
int
i;
for(i=2;i<x;i++)
{
if(x%i==0)
return
0;
}
return
1;
}
用C语言编写判断一个数是否是素数的程序
1、打开ubuntu并开启一个终端,输入命令vim is_prime.c,打开编辑页面,输入预处理指令#includestdio.h用于在主函数中调用判断函数。然后定义一个函数int is_prime(int n),即判断整数n是否为素数。2、首先,判断这个数是否小于2.若是,则直接返回0,即表示它不是一个素数。3、然后定义中间的因数i,...
判断一个数是否为素数c语言
判断一个数是否为素数c语言,如下:分析:只能被1和它本身整除的整数称为素数。在数学中,要判断n是否为素数,通常让n除以2V的每一个整数,如果,能被2V几的某个整数整除,则说明,不是素数,否则n一定是素数。方法一:用for语Q判断n是否为整数 在这个代码中,我们首先定义了一个名为sprime的函数,...
如何用c语言判断一个数是不是素数
首先要知道素数是不等于1,它的因子只有1和它本身。判断一个数是否为素数,可以用大于1小于给定数的所有数去除给定数,如果有任何一个能够除尽,就表示是合数,反之是素数。下面是具体如何用C语言判断素数的过程:1、打开visual C++ 6.0,点击【文件】-【新建】-【文件】,然后选择【C++ Source File...
c语言如何判断一个整数是素数。
C语言程序如下:include<stdio.h> int main(){ int i,j,k=0;for(i=2;i<10000;i++){ for(j=2;j*j<=i;j++)if(i%j==0)break;if(j*j>i){ printf("%d ",i);k++;if(k%5==0)printf("\\n");} } }
如何用C语言编程判断素数
1、首先打开编辑器软件,在里面新的C语言文件里引入头文件并输入主函数,在主函数中输入代码:2、然后写入判断素数的逻辑,这里先引入一个scanf函数,接受用户输入的数值存入变量,对接收的变量判断其是否为素数,判断的依据是如果能被2到n-1中的某个数整除就是素数,否则就不是。最后把判断的结果打印...
c语言怎么判断一个数是不是素数?
1、素数的判断。根据素数定义,除了1和本身不存在其它约数的正整数为素数。所以在C语言中判断n是否为素数可以从2开始到到n-1逐一尝试,如果可以整除说明不是素数。更进一步,可以从2判断到n\/2或者n的算术平方根,如果不存在约数,那么即为素数。除此以外,判断素数的算法还有素数筛等。2、判断素数的...
用C语言输入一个正整数m,判断它是不是素数,每组输入三个数?
函数用于判断一个正整数是否为素数。在`main`函数中,通过`scanf`函数连续输入多组三个数(m、n和p),并逐个调用`is_prime`函数进行判断。最后,根据结果输出相应的信息。注意,`scanf`函数与`printf`函数类似,都是C语言标准库提供的函数。通过使用`%d`格式化字符串,可以读取或输出一个整数。
c语言编写函数判断素数
本文主要讲述了如何使用C语言编写一个函数,用于判断一个整数是否为素数。首先,我们需要定义一个名为isprime的函数,它接受一个整数作为输入参数。函数的实现中,我们使用一个for循环,从2开始遍历到i的前一个数(原代码中a<=i应改为a
用C语言如何编写素数检验程序?
h> int main(){ int i,j;int sum = 0;int flag;\/\/是否为素数 for (i = 2; i <= 51; i++) { flag = 1;for (j = 2; j <= i - 1; j++) { if (i % j == 0) { flag = 0;break;} } if (flag == 1) { sum += i;}} printf("和为:%d",sum);} ...
用C语言如何判断素数
按照如下步骤即可用C语言判断素数:1、首先打开visual C++ 6.0,然后点击左上角的文件,再点击新建。2、然后在弹出的新建对话框中点击C++Source File。3、在新建的文件文本框中输入预处理命令和主函数,即函数头和空类型。4、然后再定义变量并输入一个数字,即定义变量的数据类型,输出文字提示,再输入...
冻适小儿: void main() {int i,j;scanf("%d",&i);for(j=2;j if(i==((int)(i/j))*j) break;if(j>=i)printf("%d为素数\n",i);else printf("%d不是素数\n",i); }
梨树区13718931802: c语言:写一个判断素数的函数,要求在主函数任意输入一个整数,输出其是否素数的判断结果 - ?
冻适小儿: #include <stdio.h>#include <math.h> int is_prime(int n) { int i; for(i = 2; i <= sqrt(n); i ++) if(n%i == 0) return 0; return 1; } int main() { int i; scanf("%d",&i); if(is_prime(i))printf("%d是素数\n", i); else printf("%d不是素数\n",i); return 0; }
梨树区13718931802: C语言.写一个判定素数的函数,在主函数中输入一个整数,输出是否是素数的信息 - ?
冻适小儿:#include #include int prime(int m) { int i,n; if(m==1)return 0; n=(int)sqrt((double)m); for(i=2;i<=n;i++) if(m%i==0)return 0;return 1; } void main() {int n;scanf("%d",&n);if(prime(n))printf("%d is a prime.\n",n);elseprintf("%d is not a prime.\n",n); }
梨树区13718931802: c语言 编写一判别素数的函数,在主函数中输入一个整数,输出该数是否为素数的信息. - ?
冻适小儿: #include<stdio.h> void main() { int prime(int);int n;printf("\n input an integer:");scanf("%d",&n); if(prime(n))printf("\n %d is a prime.\n"); elseprintf("\n %d is not a prime.\n"); } int prime(int n) /*调用*/ { int flag=1,i;for(i=2;i<n/2&&flag==1;i++)if(n%i==0)flag=0;return(flag);}
梨树区13718931802: 用C 语言写出一个判素数的函数,在主函数输入一个整数,输出是否素数的信息 - ?
冻适小儿: #include "stdio.h" #include "math.h" void main() {long i=2,j;bool IsYes;while(1){IsYes=true;if(i<=1) break;printf("Input a number:");scan("%d",&i);for(j=2;j {if(i%j==0) IsYes=false; }if(IsYes) printf(%d is Prime!\n); else printf(%d is not Prime!\n);} }
梨树区13718931802: C语言编程 写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的信息. - ?
冻适小儿: #include int isprime(int n) { int i; for (i=2;i if(n%i==0)return 0; return 1; } void main() { int n; printf("请输入一个数:"); scanf("%d",&n); if(isprime(n)) printf("%d是素数\n"); else printf("%di不是素数\n"); }
梨树区13718931802: C语言,编写函数判断一个整数是否为素数,在主函数中调用该函数并输出100以内的全部素数? - ?
冻适小儿: #include <stdio.h> int is_prime_number(int n) {int i;int result = 1;if(n==1)return 0;for(i=2;i<n;i++){if(n%i==0){result = 0;break;}}return result; } int main() {int n;printf("100以内的素数包括:\n");for(n=1;n<=100;n++){if(is_prime_...
梨树区13718931802: 写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息 用c语言?
冻适小儿: 程序如下: #include <Stdio.h> #include<math.h> int main() { int n,i,flag=1; printf("输入一个数:\n"); scanf("%d",&n); for(i=2;i<=sqrt(n);i++) if(0==n%i) flag=0; if(1==flag) printf("YES\n"); else printf("NO\n"); }结果如图: 有疑问提出.
梨树区13718931802: 求 c语言大神 编写函数判断n是否为素数,在主函数中通过调用该函数计算并输出100以内所有素数之和... - ?
冻适小儿: #include<stdio.h> int f(int x) { if (x==1)return 0;//1不是素数.else{for(int i=2;i<=x;i++)if(x%i==0)break;//被一个数整除后跳出.if(i==x)return 1;//素数只能被1和自己整除.else return 0;} } void main() {int m,n,sum=0;scanf("%d",&m);...
梨树区13718931802: 求用C语言编写一个判断素数的函数ifp.在主函数中调用该函数,求整型数组a【10】中有多少个素数 - ?
冻适小儿: #include <iostream>#include <math.h> using namespace std; int f(int n) //起到判断正整数是否为素数的作用,返回一个值以标识,是则返回1,否则返回0.{ int i,j=0; for(i=2;i<=sqrt(n);i++) if(n%i==0) j++;if(n==1) return 0; else { if(j==0)return 1; ...