C语言中prime的作用

作者&投稿:童邰 (若有异议请与网页底部的电邮联系)
c语言中用int prime函数判断一个数是否为素数~

int prime(int x){ int i; for (i=2;i<x;i++) if (x%i==0) return 0; return 1;}

这是一个函数声明(Function Declaration)。函数声明给出三个重要信息:(1)函数的名称;(2)函数各个参数的类型;(3)函数返回值的类型。程序正是依据这三个信息来调用函数。
在C语言中,函数调用遵循的原则是:“先声明或定义,然后调用”。例如
#include /*** 函数声明:因为函数定义在函数调用之后,所以必须先声明函数! */int prime(int x);void main(){ int x; /* 函数调用 */ x = prime(1200); /* …… */}/* 函数定义 */int prime(int x){ int rslt; /* …… */ return rslt;}某些情况下,函数的声明与定义(Defination)是合一的。例如
#include /*** 函数定义和声明合一:这是因为函数的定义出现在函数调用之前!**/int prime(int x){ int rslt; /* …… */ return rslt;}void main(){ int x; /* 调用prime函数 */ x = prime(1200); /* …… */}

prime的作用就是判断一个数是否为素数(也称“质数”)。

例如:

#include <stdio.h>

int IsPrime(int n)

{

if (n <= 1) return 0;

if (n % 2 == 0) return n == 2;

for (int i = 3; ; i += 2)

{

if (i > n/i) break;  // 等价于 i*i > n, 不用开方

if (n % i == 0) return 0;

}

return 1;

}

int main()

{

for (int n = 100; n <= 300; n++)

if (IsPrime(n))

printf("%4d", n);

return 0;

}

扩展资料:

prime算法

prime是以点为基础出发进行检索最小生成树的一种贪心算法。

思想:

将所有的点分成两类,一类是已经放到碗里的,另一类是还没有有放到碗里的,可以通过一个数组bool visit[]来记录这个点到底是属于第一类还是属于第二类之后每一个周期索要进行的操作,找出一一定范围内路径的的范围的最小值。

所有的从第一类点直接连接到第二类点的边将最小的边记录下来(这个也就是生成树中的一条边)将这个新边(这个一个连接第一类点和第二类点的边)连到的那个第二类点归类到第一类点中,之后重复这个操作,最终消灭所有的第二类点。

假设有n个节点,我最初给出一个点,以这个点开始进行搜索,这个时候该点为第一类点,其余n-1个点为第二类点。之后进行n-1次操作,一共选出了n-1个边(符合树的性质),构成了最小生成树。



你没有把代码贴出来,人家怎么知道prime的作用是什么呢?就一般而言,prime的作用就是判断一个数是否为素数(也称“质数”)。各种函数是指自己定义的函数还是库函数?若是库函数,这就需要自己去看相关资料掌握。若是自己定义的函数,那作用自己应该清楚不过了。例如,说个简单点的自定义函数——求两个整数的和,代码如下:int Sum(int a, int b){ return (a + b);}

1、一般而言,prime的作用就是判断一个数是否为素数(也称“质数”)。各种函数是指自己定义的函数还是库函数?若是库函数,这就需要自己去看相关资料掌握。若是自己定义的函数,那作用自己应该清楚不过了。

2、例如:

#include <stdio.h>
int IsPrime(int n)
{
    if (n <= 1) return 0;
    if (n % 2 == 0) return n == 2;
    for (int i = 3; ; i += 2)
    {
        if (i > n/i) break;  // 等价于 i*i > n, 不用开方
        if (n % i == 0) return 0;
    }
    return 1;
}
int main()
{
    for (int n = 100; n <= 300; n++)
        if (IsPrime(n))
            printf("%4d", n);
    return 0;
}


头文件前使用#,表示预处理,加入到工程中一并编译。

其他用法:
在printf中的%后面的那个#是用来格式说明的,
如果在g,G,f,e或者E代码前加一个#,可以确保显示一个小数点(即使没有小数位),
在o之前加上则输出八进制,
在p,x或者X之前则确保输出十六进制

例如上面的那个就是把地址按照十六进制形势输出.

在编译时,#的作用是,把后面的变元转化为带引号的串.
例如上面的#define FUN(a) cout<<#a;代表的就是把a当作一个字符串输出,比如FUN(123\n);将会输出123以及一个回车.

##的作用才是在编译的时候把前后连接起来.
例如:
#include <stdio.h>
#define concat(a,b) a##b
int main(void)
{
int xy=10;
printf("%d",concat(x,y));
//即是: printf("%d",xy);
return 0;
}

在C语言中,多个表达式可以用逗号分开,其中用逗号分开的表达式的值分别结算,但整个表达式的值是最后一个表达式的值。
假设b=2,c=7,d=5,
a1=(++b,c--,d+3);
a2=++b,c--,d+3;
对于第一行代码,有三个表达式,用逗号分开,所以最终的值应该是最后一个表达式的值,也就是d+3,为8,所以a1=8。
对于第二行代码,那么也是有三个表达式,这时的三个表达式为a2=++b、c--、d+3,(这是因为赋值运算符比逗号运算符优先级高)所以最终表达式的值虽然也为8,但a2=3。
逗号运算符的优先级最小


C语言:利用int prime(int n)函数,实现输出100~300之间所有素数。_百 ...
素数就是一个大于1的自然数,除了1和它本身外,不能被其他自然数整除 include <stdio.h>int IsPrime(int n){ if (n <= 1) return 0; if (n % 2 == 0) return n == 2; for (int i = 3; ; i += 2) { if (i > n\/i) break; \/\/ 等价于 i*i > n,...

...1-100之间全部素数,主函数中输出 ,prime函数中判断素数。。谢谢大...
include <stdio.h> int prime(int n){ int i;if(n<2)return 0;for(i=2;i*i<=n;++i)if(n%i==0)return 0;return 1;} int main(){ int i;for(i=1;i<100;++i)if(prime(i))printf("%d ",i);return 0;}

C++中int prime 和 int main 有什么区别 int prime(int x)是什_百度...
在C语言中,函数调用遵循的原则是:“先声明或定义,然后调用”。例如 include <stdio.> \/ 函数声明:因为函数定义在函数调用之后,所以必须先声明函数!\/ int prime(int x);void main(){ int x;\/* 函数调用 *\/ x = prime(1200);\/* …… *\/ } \/* 函数定义 *\/ int prime(int x){ in...

用prime函数判断一个大于1的整数是否为素数。在main函数中调用prime函数...
include "stdio.h"int prime(int n)\/\/判断n是否是素数,是返回1,不是返回0{ int i; for(i=1;i<=n\/2;i++) if(n%i==0) return 0; return 1; }int main(){ int n,i; printf("请输入一个大于2的偶数:"); scanf("%d",&n); for(i=1;i<=n...

写一个判断素数的函数prime,在主函数中输入10个整数,调用prime,输出这...
include <stdio.h>int prime(int n){ int i; if(n>2 && !(n&1) || n<2) return 0; for(i=3;i*i<=n;i+=2) if(!(n%i)) return 0; return n;}int main(int argc,char *argv[]){ int sum,n,i; printf("Input 10 integers...\\n"); ...

C语言中常见的英语单词缩写
prime 最初, 青春, 精华 的意思 这些都是根据命名习惯决定的,下面的资料可以参考下:(一定对你有帮助的)匈牙利命名法 由于匈牙利风格信息冗余,并与编码规范的其它条款冲突,所以它的存在仅限于VC中。下面是它的命名部分规则:1. 类的命名 C+首字母大写的单词组合,通常是名字性短语,一般不含下划线 ...

C语言填空题: 定义一个判断素数的函数prime(m),如果正整数m是素数返回...
int prime( int m ) \/* 定义函数首部 *\/ { int i,n ;if (m==1) return 0;n = (int)sqrt(m);for (i=2; i<=n ;i++ )if(m%i ==0) return 0 ;if(i>n) return 1 ;}

c语言???
include <stdio.h> include <math.h> void main(void){ int x;int flg;int prime(int m,int*flg);printf("以下是100以内的素数:\\n");for (x=2;x<=100;x++){prime(x,flg);if (flg)printf("%6d",x);printf("\\n");} } void prime(int m,int*flg){ int i,n,flag=1;n...

(1)定义函数intprime(intn),判断n是否为素数;在main函数中输入整数m...
以下是一个使用C语言编写的程序,包含了一个名为isPrime的函数用于判断一个整数是否为素数,并在main函数中调用该函数来判断输入的整数是否为素数:include <stdio.h> int isPrime(int n) { if (n <= 1) { return 0; \/\/ 不是素数 } for (int i = 2; i * i <= n; i++) { if ...

用C语言编写判断一个数是否是素数的程序
在这过程中,如果遇到n能整除i,则说明n不是一个素数。如果循环能够直到i的平方大于n才结束,说明n是一个素数。04 接下来,我们使用主函数进行测试,使用printf("%d : %d\\n", n, is_prime(n))的格式进行输出。如果输出结果为0,说明不为素数;结果为1,说明是一个素数。 测试的数据依次是...

修水县15765847832: c语言作业 -
店咐恒恩: 给LZ说下大致思想吧.gotbaha()执行遍历操作,一个for循环,从1到n,对每次得到的i和n-i值进行prime检验,如果都是素数,那么停止,输出结果就行了.#include<stdio.h>#include<math.h> int prime(const int n) //检验是否为素数 { if(n == 1 ||...

修水县15765847832: C语言if (prime(i))什么意思 -
店咐恒恩: prime(i),这个一个是个函数的调用.意思根据我以前的经验,应该是判断是不是素数. if(prime(i)) 的意思就是如果i是素数

修水县15765847832: C语言:利用int prime(int n)函数,在主程序中循环输入一个数, - 1时退出,并调用子函数判断是否为素数. -
店咐恒恩: #include<stdio.h> int prime(int n); int main(void) { int m; int flag = 1; do { printf("此程序功能是判断一个整数是否为素数,请输入一个整数:"); scanf("%d",&m); if(m==-1) { return 0; } else { if(prime(m)) { printf("%d是一个素数!\n",m); } ...

修水县15765847832: c程序语言,函数,求编程实现1.编写一个函数primeNum(int num),它的功能是判别一个数是否为素数.如果num是素数,返回该数;否则返回0值. 要求: ... -
店咐恒恩:[答案] 第三个函数#includevoid main(){ int a,b,back; int mulnum(int a,int b); printf("请输入两个整数:"); scanf("%d%d",&a,&b); back=mulnum(a,b); if(back==1) printf("%d is multiple of %d\n",a,b); else if(...

修水县15765847832: 用C语言编写自定义函数prime(int x),判断x是否为素数. -
店咐恒恩: #include "stdio.h"#include "math.h" //判断一个整数是否为素数 bool prime(int x) { int i; for(i=2;i<= sqrt(x);i++) { if(x%i==0)return false; } return true; } //判断一个整数(1位或多位)是否每一位都是素数 bool allPrime(int a) { if(prime(a%10)) //如...

修水县15765847832: C语言改错,怎么改才对 -
店咐恒恩: 不改变原来意思,就改语法错误:#include<stdio.h> int x,a[10];int prime () { int i=0,f; a[i]=x%2;i++; a[i]=x%3;i++; a[i]=x%5;i++; a[i]=x%7; if ( (a[i]==0) f=0; else f=1; return(f) ;} void main() { printf("Input a num:\n"); scanf("%d",&x); if (prime()) printf(...

修水县15765847832: c语言求助,该程序的功能是求100以内的素数,将函数prime()修改为没有返回值的函数. -
店咐恒恩: #include void prime(int m,int *flag); void main() { int x,f; printf("以下是100以内的素数:\n"); for (x=2;x prime(x,&f); if ( f ) printf("%6d",x); } printf("\n"); } void prime(int m,int *f) { int i,flag=1; for ( i=2;i if ( m%i==0 ) { flag=0; break; } *f=flag; }

修水县15765847832: 求3 - 200间的素数的C语言程序,要有实参向形参的传递. -
店咐恒恩: while (j<=i){ if (k%j==0) { return; }j+=1;} 这个while循环是判断k是否为素数的,就是让k去除从j到i的每一个数,作为循环j当然得自增了.我把if语句括起来了,这样你会比较好理解,就是如果k能整除j,就直接return跳出,如果不是的话就不会执行那个return语句了,让j继续自增.if就是个分支语句,条件不成立是不会执行的.这样解释你会不会明白?

修水县15765847832: pascal语言,prime(i)什么意思? -
店咐恒恩: 由程序第二行function prime(n:longint):boolean,可知prime是作者在程序中自己定义的一个函数,返回的是boolean值,再看函数内容可知prime的作用为素数判定..所以..prime(i)的作用就是,判断i是不是素数..

修水县15765847832: C语言程序设计实验报告 (1)编写一个函数primeNum(int x),功能是辨别一个数是否为素数. -
店咐恒恩: #include <math.h> int primeNum(int p) { int i, q;/* Negative number is not a prime */ if (p < 0) return 0; q = (int) sqrt(p); for (i = 2; i < q; i++) if ((p % i) == 0) return 0; /* No factor of p is found */ return 1; }/*原理::从2-sqrt(x)的数中看是否有可以整除的, 如果没有, 则为素数. */

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网