精华内容
下载资源
问答
  • 设计一个函数用来判断一个整数是否为素数以下文字资料是由(历史新知网...设计一个函数用来判断一个整数是否为素数#include #include int check(int n){ int i,k=1; float m=sqrt((float) n); for(i=2;i<=(int)m...

    设计一个函数用来判断一个整数是否为素数以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

    1103351fdaee518ece68cf178b55c89f.png

    设计一个函数用来判断一个整数是否为素数

    #include #include int check(int n){ int i,k=1; float m=sqrt((float) n); for(i=2;i<=(int)m;i++) if(n%i==0) {k=0;break;} return k;}int main(){ int n,j; printf("请输入一个正整数: "); scanf("%d",&n); j=check(n); if(j==0) printf("%d不是素数。",n); else printf("%d是素数。",n);}

    C语言版:

    #include

    #include

    void main()

    {

    int i,m,k;

    printf("please input a number:\n");

    scanf("%d", &m);

    k=(int)sqrt(m);

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

    if(m%i==0)break;

    if(i>k)printf("%d is a prime number.\n",m);

    else printf("%d is not a prime number.\n",m);

    }

    C++版:

    #include

    #include

    void main()

    {

    int i,m,k;

    cout<

    cin>>m;

    k=(int)sqrt(m);

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

    if(m%i==0)break;

    if(i>k) cout<

    else cout<

    }

    初级c语言。设计一个函数,用来判断一个整数是否为素数。

    int isprimer(int n){ int i; if(n>2 && !(n&1) || n<2) return 0; for(i=3;i*i<=n;i+=2) if(n%i==0) return 0; return 1;}

    设计一个函数,判断一整数是否为素数~C++

    素数是只能被1和本身整除的数

    #include

    using namespace std;

    int main()

    {

    int i,n;

    cout<

    cin>>n;

    for(i=2;i

    {

    if(n%i==0)break;

    }

    if(i==n)cout<

    else cout<

    return 0;

    }

    运行结果:

    输入整数n:85

    85不是素数!

    Press any key to continue

    用C++设计一个函数,判断整数n是否为素数。

    #include

    #include

    #include

    int main()

    {

    using namespace std;

    int i,j,t=0;

    cout<

    cin>>i;

    int k=(int)sqrt(i);

    for(j=2;j<=k;j++)

    if(i%j==0)

    {cout<

    break;

    }

    if(j>k)

    {

    cout<

    }

    return 0;

    }

    设计一个函数,用来判断一个整数是否为素数。整数在主函数中接受键盘输入,是否为素数的结果在主函数中输出

    下面是我自己编的一个,目的是提高交互性,当然还可以有其他的方法:

    #include

    int PanDuanSuShu(int);声明一个判断模块,用于判断输入的数据是否是素数;

    int RePut(); 声明一个输入模块,并且给用户重新输入的机会;

    int PutOut(int); 声明一个输出模块,提示用户的输入数据类型;

    int RePanDuan(); 声明一个根据用户的选择判断是否重新接受数据的模块;

    viod main() 主函数

    {

    while(1)

    {if(PutOut(PanDuanSuShu(RePut()))==1) continue;

    else break;} 主函数体;采用循环的方式,给用户重新输入的机会;

    }

    int PanDuanSuShu(int a)定义一个判断模块,用于判断输入的数据是否是素数;

    {int i,b=0;if(a==1)a++;

    for (i=1;i<=a;i++)if(a%i==0)b++;循环判断,如果能够找到其它能够整除的数,说明该输入数据不是素数;

    if(b==2)return 1; 是素数,返回真;

    else return 0;}不是素数返回假;此处else可省略;

    int RePut()定义一个输入模块,并且给用户重新输入的机会;

    { int a;

    printf("请输入一个十进制整数:\n");

    scanf("%d",&a);

    return a;}

    int PutOut(int P) 定义一个输出模块,提示用户的输入数据类型;

    { if(P==0)

    {printf("对不起,您所输入的数据不是一个素数;\n");

    return RePanDuan();} 此处开始进入根据用户的需要判断是否重新输入的模块;

    else {printf("您所输入的数据是一个素数;\n");

    return 0;}

    }

    int RePanDuan()定义一个根据用户的选择判断是否重新接受数据的模块;

    { printf("您是否需要重新输入数字?需要请按“Y”;不需要请按“N”;谢谢使用;\n");

    setbuf(stdin, NULL);

    if (getchar()=='Y') return 1;根据用户端的输入判断;

    else return 0;

    }

    方法二:

    #include

    int Panduan(int);

    void main()

    {int a,b;

    scanf("%d",&a);

    b=Panduan(a);

    if(b==2)printf("您所输入的数据是一个素数。\n");

    else printf("您所输入的数据不是一个素数。\n");

    }

    int Panduan(int a)

    {int i,b=0;

    if(a==0)a++;

    for(i=1;i<=a;i++)if(a%i==0)b++;

    return b;}

    方法三:

    #include

    int Panduan(int);

    void main()

    {

    int a,flag;

    scanf("%d",&a);

    flag=Panduan(a);

    if(flag==1)printf("您所输入的数据是一个素数。\n");

    else printf("您所输入的数据不是一个素数。\n");

    }

    int Panduan(int a)

    {int flag=1,m;

    for(m=2;m

    {

    if(a%m==0)

    {flag=0;

    break;}

    }

    return flag;

    }

    版主可以三种选一!

    编写一个函数,判断一个整数是否是素数。

    也不说用什么语言,我用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);

    else

    printf("%d is not a prime.\n",n);

    }

    设计一个程序,求出5~500之间的所有素数。要求每行输出5个素数,设计一个函数来判断一个整数是否为素数。

    #include

    #include

    using namespace std;

    void fan(int min,int max)求在min和max之间的所有素数数

    {

    int i,j,tag,num = 0;

    for(i = min; i <= max; i++)

    {

    tag = 0;

    for(j = 2; j <= sqrt(i+0.0); j++)

    if(i % j == 0)

    {

    tag = 1;

    break;

    }

    if(tag == 0)

    {

    cout << i << "\t";

    num++;

    if(num % 5 == 0)

    cout << endl;

    }

    }

    }

    void main()

    {

    fan(1,100);

    system("pause");

    }

    利用C++如何编程:设计一个函数,判断整数n是否为素数。

    N = 101

    DO WHILE N <= 199

    IF N MOD 3 = 0 OR N MOD 5 = 0 THEN

    N = N + 2

    ELSE

    K = INT ( SQR ( N ) )

    I = 2

    FLAG = 0

    WHILE I <= K AND FLAG = 0

    IF N MOD I = 0 THEN FLAG = 1 ELSE I = I + 1

    WEND

    IF FLAG = 0 THEN PRINT N,

    N = N + 2

    END IF

    LOOP

    END

    程序设计 写一个函数,判断一个整数是否素数,在main函数中输入整数,并输出判断结果.

    #include

    #include

    #include

    using namespace std;

    int main(void)

    {

    vector A(10);

    int n; Prime number upper limit, get input while running

    int primecount=0,i,j;

    cout << "Enter a value >=2 as upper limit for price numbers: ";

    cin >> n;

    A[primecount++]=2; 2 is a prime number

    for(i=3;i

    {

    if the vector is full ,require the next 10 elements

    if(primecount==A.size())

    A.resize(primecount+10);

    if(i%2==0) continue;

    j=3;

    while(j<=i/2 && i%j!=0)

    j+=2;

    if(j>i/2)

    A[primecount++]=i;

    }

    for(i=0;i

    {

    cout << se(5) << A[i];

    if((i+1)%10==0) return while output every 10 numbers

    cout << endl;

    }

    cout << endl;

    return 0;

    }

    分页:

    1

    23

    展开全文
  • 方法一:作比较[root@python markPy]# cat five.py#!/usr/bin/python3a=int(input(">...100: #第一个条件已经过滤了大于9,所以这里区间是11到100print(2)elif a<1000:print(3)elif a<10000...

    方法一:作比较

    [root@python markPy]# cat five.py

    #!/usr/bin/python3

    a=int(input(">>>>"))

    if a<10:

    print(1)

    elif a<100: #第一个条件已经过滤了大于9,所以这里区间是11到100

    print(2)

    elif a<1000:

    print(3)

    elif a<10000:

    print(4)

    else:

    print(5)

    方法二:使用整除实现,除完后如果是个0或不是个0,这种方法引入了计算,效率会降低,所以能加就不要减,能乘就不要除,能不计算就不计算

    i = int(intput('>>>')

    if i // 10000:

    print(5):

    elif i // 1000:

    print(4)

    elif i // 100:

    print(3)

    elif i // 10:

    print(2)

    else:

    print(1)

    分析:假设是在5位的情况下,不考虑其他状况

    In [1]: 6666 // 10000

    Out[1]: 0 除以10000为零证明是小于5位数

    In [2]: 6666 // 1000

    Out[2]: 6 但是如果能被1000整除,它就是一个4位数

    In [3]: 6666 // 100

    Out[3]: 66

    In [4]: 6666 // 10

    Out[4]: 666

    In [5]: 6666 // 1

    Out[5]: 6666

    方法三:

    a=int(input(">>>"))

    if a<0:

    print("Format is wrong")

    elif a<100000: ##限定5位

    if a<10:

    print(1)

    elif a<100:

    print(2)

    elif a<1000:

    print(3)

    elif a<10000:

    print(4)

    else:

    print(5)

    else:

    print("请输入一个不超过5位的数")

    方法四:字符串处理实现

    #!/usr/bin/python3

    nnumber=input(">>>>")

    length=len(nnumber)

    if length>4:

    print(5)

    elif length>3:

    print(4)

    elif length>2:

    print(3)

    elif length>1:

    print(2)

    else:

    print(1)

    方法五:折半实现

    #!/usr/bin/python3

    number = int(input("number >> "))

    if number >= 100: ##直接从100开始折

    if number >= 10000:

    print("5")

    elif number >= 1000:

    print("4")

    else:

    print("3")

    else:

    if number >= 10:

    print("2")

    else:

    print("1")

    方法六:math实现,这种方法比除法的更慢,如果循环100万次就很明显

    number=int(input("输入一个不超过5位的正整数: ")

    if a<=0 or a>=100000:

    print('请输入一个不超过5位的正整数')

    else:

    import math

    b=int(math.log10(a)+1)

    print(b)

    欢迎补充~

    展开全文
  • 编写函数判断一个整数是否为素数

    千次阅读 2021-05-22 11:33:01
    用来判断整数a是否为素数,若是素数,函数返回1,否则返回0。调用该函数找出任意给定的n整数中的素数。 注意,1不是素数。输入格式:系列待判断的正整数,以空格隔开,以0表示输入结束。输出格式:只输出输入的正...

    题目内容:

    编写函数int isprime(int a);用来判断整数a是否为素数,若是素数,函数返回1,否则返回0。调用该函数找出任意给定的n个整数中的素数。 注意,1不是素数。

    输入格式:

    一系列待判断的正整数,以空格隔开,以0表示输入结束。

    输出格式:

    只输出输入的正整数中的素数,顺序和输入一致。数据间以一个英文空格隔开,最后一个数据后没有空格!!! 注意,1不是素数。

    输入样例:

    9 8 7 210 101 0

    输出样例:

    7 101

    #include

    #include

    using namespace std;

    #include

    int isprime(int a){

    int mark=1;

    if(a==1) {

    mark=0;

    }

    for(int i=2;i<=a/2;i++){

    if(a%i==0) {

    mark=0;break;

    }

    }

    if(mark==1) //是素数;

    return 1;

    else if(mark==0)//不是素数;

    return 0;

    }

    int main() {

    int a[100];int mark=0;

    for(int i=0;;i++,mark++){

    cin>>a[i];

    if(a[i]==0) break;

    }

    int c[mark];// 标记数组是素数的

    for(int i=0;i

    if(isprime(a[i])==1) {

    c[i]=1;

    }

    }

    int num=0;//寻找最后的素数位置

    for(int i=0;i

    if(c[i]==1)

    num=i;

    }

    for(int i=0;i

    if(c[i]==1){

    cout<

    if(i!=num){

    cout<

    }

    }

    }

    }

    展开全文
  • 素数(Prime Number),又称质数,一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;否则,称为合数(Composite Number)。1既不是素数,也不是合数。如2、3、5、7、11都是素数,因为找不到除了1和...

    素数(Prime Number),又称质数,一个大于1的自然数,除了1和它自身外,不能整除其他自然数的数叫做质数;否则,称为合数(Composite Number)。1既不是素数,也不是合数。

    如2、3、5、7、11都是素数,因为找不到除了1和其本身之外的约数;而4、6、8都是合数,因为4可以整除2,6可以整除2和3,8可以整除2和4。

    而一个数的约数必然是不超过该数的,加上素数必需是只有1和本身是其约数的条件。于是,我们可以通过枚举小于该数,并且大于1的整数,来判断该数是否是素数。

    假设有一个正整数a,则其可以被写成任意两个正整数之积,即a = p * q。假设p < q,那么正整数p和q都是a的约数。注意到,如果我们知道p是a的约数,那么可以通过q = a / p快速求得另外一个约数q。同样的道理,如果某个数p不是a的约数,那么q也不是a的约数。这就意味着我们在枚举约数的时候,只需要枚举2到不大于sqrt(a)的正整数即可。

    虽然通过上述方法,已经能让我们在根号级别的复杂度内,判断一个正整数是否为素数。但是我们其实还可以做得更快!回到我们最初的起点,我们之所以要枚举这些数,就是想找出原数的约数。然后除1外,任何一个正整数都能写成多个素数的乘积的形式,所以我们枚举特定范围内的所有素数,也能达到相同的效果,而且数字范围越大,其区间内素数个数和区间长度之比也将越来越小,大家可以看看下面不同区间内的素数统计结果:

    从上图的统计结果我们可以发现,我们用区间内的素数去判断一个整数是否素数,比较的次数相较之前来说更少。虽然就单次判断一个素数来说,这样的算法可能并没有优势,因为还需要时间去求出该区间内的所有素数。但是如果需要判断的数字很多,那么先把该区间内的所有素数求出来,无疑是个更好的选择。

    而求不超过某个正整数x内的所有素数,有一个著名的算法——埃拉托斯特尼筛法。其算法描述为:

    先用一个数组vis,把不大于该正整数x的所有正整数标记为0,表示没有访问;然后从第一个素数2开始遍历整个区间,如果当前访问的数没有访问过,则可以认为它是一个素数。那么就将它在该区间内所有的倍数,全部标记为已访问,这样就保证外部的循环发现的没有访问过的数都是素数。其具体实现如下述代码所示:

    埃拉托斯特尼筛法

    然而,除了上述筛法,还有其他高效的筛法,比如欧拉筛法,这里只给出其代码实现,希望大家能仔细去体会。

    欧拉筛法

    那么Python如何判断一个正整数是否是素数?我在这里用math模块实现

    展开全文
  • 这篇文章主要介绍了Python编程判断一个整数是否为素数的方法,涉及Python数学运算相关操作技巧,需要的朋友可以参考下本文实例讲述了Python编程判断一个整数是否为素数的方法。分享给各位猫咪们供各位猫咪们参考,...
  • 判断是不是素数。
  • c++中判断一个整数是降序数更新时间:2018-11-15 09:05:23103次访问#includeint main(){int x,n=0,s=0,w1,w2,x1;scanf("%d",&x); x1=x; w1=x%10; x/=10;while ( x ){w2=x%10; x/=10;if ( w2{s=1;break;}w1=w2;}...
  • 素数的定义:是指在大于1的自然数中,除了1和它本身以外不再其他因数的自然数即只能被1和自己本身整除的数思路及步骤给定一个大于2的整数n令i=2用n除i,得到余数r判断r==0是否成立,如果成立则n不是素数,结束算法...
  • #include <stdio.h> int Show(int num){ //判断位数 int count=0; while(num!=0){ count++;... printf("请输入一个整数:"); scanf("%d",&num); printf("%d是%d位数",num,Show(num))
  • PS:在阅读本篇文章之前,最好先搞清楚:1.数据类型在计算机内的存储方式;2.数据类型在VC++或者GCC中的数值范围和精度。...判断一个数是否是“整型”(int),调用系统函数即可#include#includeusing namespa...
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include#includeusingnamespacestd;...//divisor表示递增的除数,在程序中通过将此变量乘方得到10,100,1000等作为除数来求得整数的位数和整数各位上的数;//coun...
  • 本文实例讲述了Python编程判断一个整数是否为素数的方法。分享给大家供大家参考,具体如下:import stringimport math#判断是否素数的函数def isPrime(n):if(n<2):return False;elif(n==2):return True;elif(n&...
  • 对于给定的正整数N(N最大为5位数),求其整数位数,及个位、十位、百位、千位和万位的值,同时,举个例子,如果N是一个三位数,那么,只求其个位、十位和百位。
  • 原理:用一个while循环,将一个数每次都取出首和末位,判断是否相等,只要一次不相等退出即可。 是回文数的判断条件:加入一个变量位数,如果这个数是奇数,位数为1时,即最中间那一位数,此时退出即可,同理,...
  • 回文数:回文数“是一种数字。...思路:输入一个数据 我们只需要将数据倒着打印出来即可。 eg:输入n=121 m作为倒序输出的值 初始化为0 m=m*10+121%10 121%10 -> 1 输出 m=1 n=n/10 121/1...
  • 【简答题】编写程序,用户输入一个列表和 2 个整数作为下标,然后输出列表中介于 2 个下标之间的元素组成的子列表。例如用户输入 [1,2,3,4,5,6] 和 2,5 ,程序输出 [3,4,5,6] 。【简答题】解释 Python 中的运算符 / 和 ...
  • Java判断一个整数是否为水仙花数

    千次阅读 2021-03-31 20:55:18
    判断一个整数是否为水仙花数 import java.util.Scanner; /** * 从键盘上输入一个数字,判断是不是水仙花数 * <p> * 所谓"水仙花数"是指一个数,其各位数字立方和等于该数本身 * <p> * 例如:...
  • 要求:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 具体代码如下: public class Test1_19 { public static boolean isPalindrome(int x) { String str = ...
  • 判断两个整数的符号是否相反,也就是两个数是否一个是正数,一个是负数。 算法说明 该算法通过异或的结果大小来判断两个整数的符号是否相反。 实现代码 bool Detect_opposite_signs(int x, int y) { return ((x...
  • 此可见一个n位数除以10^(n)结果为0,因此可以用一个死循环来写,当结果为0时,跳出循环。设置一个位数变量a;满足x / i != 0,则a++. 代码如下: #include<stdio.h> int main() { int x,t; scanf_s("%d...
  • 展开全部能被62616964757a686964616fe58685e5aeb9313334313463643整除的数的特征:各个数上的数相加之和必定为3的倍数。importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){try(Scanner...
  • let num = prompt("请输入一个整数"); if (num % 2 === 0){ console.log("这个数是偶数"); } else if (num % 2 === 1){ console.log("这个数是奇数"); }
  • C语言中什么是一个8整数

    千次阅读 2021-05-24 08:33:11
    二进制8 就是 0000 0000 到1111 1111 (换算成十进制是 0 ~ 255 )【无符号 / 符号 整型】同时C语言中 整型的最高 用来表示 符号。规定当 最高为 1表示负数。无符号整型中 附加 unsigned 关键字无符号8位整数...
  • /*** 判断非负数的整数或者携带一位或者两的小数** @function:* @param obj* @return boolean* @exception* @author:* @since 1.0.0*/public static boolean judgeTwoDecimal(Object obj){boolean flag = false;...
  • 键盘输入一个整数,程式设计判断其是否为素数(即质数)以下文字...键盘输入一个整数,程式设计判断其是否为素数(即质数)#includeint main(){int n1,nm,i,j,flag,count=0;do{printf("Input START and END=?");sc...
  • 本文实例讲述了Python实现判断一个整数是否为回文数算法。分享给大家供大家参考,具体如下:第一个思路是先将整数转换为字符串,再将字符串翻转并与原字符串做比较def isPalindrome(self, x):""":type x: int:rtype:...
  • static void Main(string[] args){while (true){ Console.Write("请输入一个100以内的数:");int a =Convert.ToInt32(Console.ReadLine())...100){Console.Write("您输入的是一个数的正整数");}else if(a<=10&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 781,598
精华内容 312,639
关键字:

判断一个整数有多少位