利用穷举法编写一个算法判断给定的正整数n是否是素数的程序,即判断n是否只能被1和自身整除。

题目

利用穷举法编写一个算法判断给定的正整数n是否是素数的程序,即判断n是否只能被1和自身整除。


相似考题
更多“利用穷举法编写一个算法判断给定的正整数n是否是素数的程序,即判断n是否只能被1和自身整除。”相关问题
  • 第1题:

    程序Cmody012.c中,函数fun(intn)的功能是:根据参数n,计算大于10的最小n个能被3整除的正整数的倒数之和。请改正错程序中的错误。例如:


    /**/if((i>10)&&(i%3==0))/**/
    /**/y+=1.0/i;/**/

  • 第2题:

    编写程序,判断一个大于等于3的自然数是否为素数。


    正确答案:程序代码如下: CLEAR INPUT“请输入自然数(>=3):” TO n f=0 i=2 DO WHILE i=INT(SQRT(n)) IF MOD(ni)>0 i=i+1 LOOP ELSE f=1 EXIT ENDIF ENDDO IF f=0 ? STR(n3)+“是素数” ELSE ? STR(n3)+“不是素数” ENDIF RETURN
    程序代码如下: CLEAR INPUT“请输入自然数(>=3):” TO n f=0 i=2 DO WHILE i=INT(SQRT(n)) IF MOD(n,i)>0 i=i+1 LOOP ELSE f=1 EXIT ENDIF ENDDO IF f=0 ? STR(n,3)+“是素数” ELSE ? STR(n,3)+“不是素数” ENDIF RETURN

  • 第3题:

    (7)在窗体上画1个名称为Command 1的命令按钮,然后编写如下程序:

    Private Sub Command 1 Click()

    Dim m As Integer, x As Integer

    Dim flag As Boolean

    flag=False

    n=Val(InputBox("请输入任意1个正整数"))

    Do While Not flag

    a=2

    flag=【7】

    Do While flag And a <= Int(Sqr(n))

    If n/a=n\a Then

    flag=False

    Else

    【8】

    End If

    Loop

    If Not flag Then n=n+l

    Loop

    Print【9】

    End Sub

    上述程序的功能是,当在键盘输入任意的1个正整数时,将输出不小于该整数的最小素数。请填空完善程序。


    正确答案:
    (7)True
    (8)a=a+1
    (9)n

  • 第4题:

    给定两个正整数m=126和n=198,利用辗转相除算法,求它们的最小公倍数,并写出求解过程。


    答案:
    解析:
    两个整数的最小公倍数=两整数的乘积÷最大公约数 求最大公约数的辗转相除法算法:
    有两整数m和n(m<n):
    ①时m得余数c;
    ②若c=0,则m即为两数的最大公约数;
    ③若c≠0,则n=m,m=c,再回去执行①。
    求126和198的最大公约数过程为:
    ①198÷126,余72;
    ②126÷72,余54;
    ③72÷54,余18;
    ④54÷18余0。因此,18即为最大公约数。
    最小公倍数=两整数的乘积÷最大公约数
    即:最小公倍数为=198×126÷18=1386。

  • 第5题:

    给定包含n个正整数的数组A和正整数x,要判断数组A中是否存在两个元素之和等于x,先用插入排序算法对数组A进行排序,再用以下过程P来判断是否存在两个元素之和等于x。low=1;high=n;while(high>low)if A[low]+A[high]=x return true;else if A[low]+A[high]>x low++;else high--;return false;则过程P的时间复杂度为( ),整个算法的时间复杂度为(请作答此空)。

    A.O(n)
    B.O(nlgn)
    C.O(n2)
    D.O(n2lgn)

    答案:C
    解析:
    本题考查时间复杂度的基本知识。第一空有一层循环while,遍历判断,所以时间复杂度为n;第二空如图所示:插入排序的时间复杂为O(n2) ;故第一空正确答案为A;第二空正确答案为C;

  • 第6题:

    编写一个程序,实现输入一个整数,判断是否能被3整除,最合适的程序结构是()。

    • A、顺序结构
    • B、循环结构
    • C、选择结构
    • D、递归结构

    正确答案:C

  • 第7题:

    数据结构与算法里,素数是只能被1和本身整除的数,以下是素数的是()

    • A、7
    • B、11
    • C、13
    • D、17

    正确答案:A,B,C,D

  • 第8题:

    编一个程序,输入一个正整数,判断它是否为素数。如不是,则输出其所有正约数。


    正确答案: Console.WriteLine("请输入一个正整数:");
    uinti,n,flag;
    boolf=true;
    n=uint.Parse(Console.ReadLine());
    //uint.TryParse(Console.ReadLine(),outn);
    for(i=2;i{
    if(n%i==0){f=false;break;}
    }
    if(f)Console.WriteLine("{0}是一个素数。",n);
    else
    {
    Console.Write("{0}不是一个素数。/n{1}=",n,n);
    i=2;
    flag=0;
    while(i<=n)
    {
    while(n%i==0)
    {
    n=n/i;
    if(flag!=0)Console.Write(’*’);
    flag=1;
    Console.Write("{0}",i);
    }
    i++;
    }
    }

  • 第9题:

    单选题
    设有宏定义:#define IsDIV(k,n) ((k%n==1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是( )。
    A

    判断m是否能被5或7整除

    B

    判断m是否能被5和7整除

    C

    判断m被5或7整除后是否余1

    D

    判断m被5和7整除后是否都余1


    正确答案: D
    解析:
    IsDIV(m,5)&&IsDIV(m,7)为真,即表达式((m%5==1)?1∶0)结果为1,且表达式((m%7==1)?1∶0)结果也为1,也就是m%5,m%7都等于1,所以表达的是,判断m被5和7整除是否都余1。答案选择D选项。

  • 第10题:

    问答题
    利用穷举法编写一个算法判断给定的正整数n是否是素数,即判断n是否只能被1和自身整除。

    正确答案: #include“math.h”
    #include“stdio.h”
    void main()
    {
    int m,i,k;
    scanf("%d",&m);
    ksqrt(m);
    for(i=2;i<=k;i++)
    if(m%i==0)break;
    if(i>=k+1)
    printf("%d is a prime number/n",m);
    else
    printf("%d is not a prime number/n",m);
    }
    解析: 暂无解析

  • 第11题:

    问答题
    编一个程序,输入一个正整数,判断它是否为素数。如不是,则输出其所有正约数。

    正确答案: Console.WriteLine("请输入一个正整数:");
    uinti,n,flag;
    boolf=true;
    n=uint.Parse(Console.ReadLine());
    //uint.TryParse(Console.ReadLine(),outn);
    for(i=2;i{
    if(n%i==0){f=false;break;}
    }
    if(f)Console.WriteLine("{0}是一个素数。",n);
    else
    {
    Console.Write("{0}不是一个素数。/n{1}=",n,n);
    i=2;
    flag=0;
    while(i<=n)
    {
    while(n%i==0)
    {
    n=n/i;
    if(flag!=0)Console.Write(’*’);
    flag=1;
    Console.Write("{0}",i);
    }
    i++;
    }
    }
    解析: 暂无解析

  • 第12题:

    单选题
    编写一个程序,实现输入一个整数,判断是否能被3整除,最合适的程序结构是()。
    A

    顺序结构

    B

    循环结构

    C

    选择结构

    D

    递归结构


    正确答案: A
    解析: 暂无解析

  • 第13题:

    设有宏定义:

    define IsDIV(k,n)((k%1"1==1)?1:O)且变量m已正确定义并赋值,则宏调用:

    IsDIV(m,5)&&;IsDIV(m,7)为真时所要表达的是( )。

    A.判断m是否能被5和7整除

    B.判断m被5和7整除是否都余l

    C.判断m被5或者7整除是否余1

    D.判断m是否能被5或者7整除


    正确答案:B
    本题考查逻辑运算符的相关概念,逻辑与若要为真,那么两边都要为真,即m都能被5和7整除都余1,所以选项B正确。

  • 第14题:

    阅读以下说明和C函数,填补代码中的空缺(1)~(5),将解答填入答题纸的对应栏内。

    【说明1】 函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。 【C函数】 int isPrime (int n) { int k, t; if (n==2) return 1; if(n<2|| (1) ) return 0; /* 小于2的数或大于2的偶数不是素数 */ t=(int)sqrt(n)+1; for (k=3; k<t; k+=2) if ( (2) ) return 0; return 1; } 【说明2】 函数int minOne(int arr[], int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。 【C函数】 int minOne (int arr[], int k) { int t; assert (k>0) ; if(k==1) return (3) ; t=minOne(arr+1, (4) ; if (arr[0]<t) return arr[0]; return (5) ; }


    正确答案:
    (1)n%2==0,或!(n%2),或其等价形式
    (2)n%k==0,或!(n%k),或其等价形式
    (3)arr[0],或*arr,或其等价形式
    (4)k-1,或其等价形式
    (5)t

  • 第15题:

    阅读以下说明和C函数,填补代码中的空缺,将解答填入答题纸的对应栏内。
    [说明1]
    函数isPrime(int n)的功能是判断n是否为素数。若是,则返回1,否则返回0。素数是只能被1和自己整除的正整数。例如,最小的5个素数是2,3,5,7,11。

    [C函数] int isPrime(int n) { int k, t; if (n==2) return 1; if(n<2 || ______)return 0; /*小于2的数或大于2的偶数不是素数// t=(int)Sqrt(n)+1; for(k=3; k<t; k+=2) if(______) return 0; return 1; }

    [说明2]
    函数int minOne(int art[],int k)的功能是用递归方法求指定数组中前k个元素中的最小者,并作为函数值返回。

    [C函数]int minOne(int arr[],int k){int t;assert(k>0);if(k==1)return ______;t=minOne(arr+1,______);if(arr[0]<t)return amr[0];return ______;}


    答案:
    解析:
    n%2==0,或!(n%2),或其等价形式
    n%k==0,或!(n%k),或其等价形式
    arr[0],或*arr,或其等价形式
    k-1,或其等价形式
    t

  • 第16题:

    给定两个正整数m=630和n=675.利用辗转相除算法,求它们的最小公倍数。


    答案:
    解析:
    两个整数的最小公倍数=两整数的乘积÷最大公约数
    求最大公约数的辗转相除法算法:
    有两整数m和n:
    ①n%m得余数c;
    ②若c=0,则m即为两数的最大公约数;
    ③若c≠0,则n=m,m=c,再回去执行①。
    求630和675的最大公约数过程为:
    ①675÷630.余45:
    ②630÷45余0,因此,45即为最大公约数。
    最小公倍数=两整数的乘积÷最大公约数
    即:最小公倍数=630×675÷45=9450。

  • 第17题:

    利用穷举法编写一个算法判断给定的正整数n是否是素数,即判断n是否只能被1和自身整除。


    正确答案: #include“math.h”
    #include“stdio.h”
    void main()
    {
    int m,i,k;
    scanf("%d",&m);
    ksqrt(m);
    for(i=2;i<=k;i++)
    if(m%i==0)break;
    if(i>=k+1)
    printf("%d is a prime number/n",m);
    else
    printf("%d is not a prime number/n",m);
    }

  • 第18题:

    数据结构与算法里,素数N能被哪些数整除()

    • A、1
    • B、2
    • C、N-1
    • D、N

    正确答案:A,D

  • 第19题:

    数据结构与算法中,关于素数描述正确的是()

    • A、素数就是合数
    • B、素数不能被本身整除
    • C、素数又称为质数只能被1和它本身整除
    • D、素数不仅能被1和它本身整除,还能被其它数整除

    正确答案:C

  • 第20题:

    单选题
    数据结构与算法中,关于素数描述正确的是()
    A

    素数就是合数

    B

    素数不能被本身整除

    C

    素数又称为质数只能被1和它本身整除

    D

    素数不仅能被1和它本身整除,还能被其它数整除


    正确答案: B
    解析: 暂无解析

  • 第21题:

    问答题
    利用穷举法编写一个算法判断给定的正整数n是否是素数的程序,即判断n是否只能被1和自身整除。

    正确答案: main( )
    {
    int m,i,k;
    scanf("%d",&m);
    k=sqrt(m);
    for(i=2;i<=k;i++)
    if(m%i==0) break;
    if(i>=k+1)
    printf("%d is a prime number/n",m);
    else
    printf("%d is not a prime number/n",m);
    }
    解析: 暂无解析

  • 第22题:

    多选题
    数据结构与算法里,素数是只能被1和本身整除的数,以下是素数的是()
    A

    7

    B

    11

    C

    13

    D

    17


    正确答案: B,C
    解析: 暂无解析

  • 第23题:

    多选题
    数据结构与算法里,素数N能被哪些数整除()
    A

    1

    B

    2

    C

    N-1

    D

    N


    正确答案: D,B
    解析: 暂无解析