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

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

    设有宏定义:#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或者7整除是否余1

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


    正确答案:D
    解析:已知表达式((k%n=l)?1:0)是判断k是否被n整除余1,如果是,则该表达式的值为1,如果不是则该表达式的值为0,代入到IsDIV(m,5)&&IsDIV(m,7)即是判断m被5和7整除是否都余1,因此,选项D是正确的。

  • 第2题:

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

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

    B.判断m是甭能被5和7整除

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

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


    正确答案:D
    D。【解析】本题考查宏定义,宏定义IsDIV(k,n)的意思是如果k对n.求模的余数为1,其值等于1,否则其值等于0。本题中宏调用表达式是两个宏调用之间的逻辑与运算,所以选项D正确。

  • 第3题:

    设有宏定义:

    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正确。

  • 第4题:

    在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下事件过程:

    Private Sub Command1_Click()

    n = Val(Text1.Text)

    For i = 2 To n

    For j = 2 To sqr(i)

    If i Mod j = 0 Then Exit For

    Next j

    If j > Sqr(i) Then Print i

    Next i

    End Sub

    该事件过程的功能是( )。

    A.输出n以内的奇数

    B.输出n以内的偶数

    C.输出n以内的素数

    D.输出n以内能被j整除的数


    正确答案:C

  • 第5题:

    给定两个正整数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。

  • 第6题:

    给定包含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;

  • 第7题:

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

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

    正确答案:A,D

  • 第8题:

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

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

    正确答案:C

  • 第9题:

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

    素数就是合数

    B

    素数不能被本身整除

    C

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

    D

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


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

  • 第10题:

    问答题
    利用穷举法编写一个算法判断给定的正整数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);
    }
    解析: 暂无解析

  • 第11题:

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

    7

    B

    11

    C

    13

    D

    17


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

  • 第12题:

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

    1

    B

    2

    C

    N-1

    D

    N


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

  • 第13题:

    在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,然后编写如下事件过程: Private Sub Command1_Click( ) n=Val(Text1.Text) For i=2 To n Forj =2 To Sqr(i) If i Mod j=0 Then Exit For Next j lf j>Sqr(i) Then Print i Next i End Sub 该事件过程的功能是

    A.输出n以内的奇数

    B.输出n以内的偶数

    C.输出n以内的素数

    D.输出n以内能被j整除的数


    正确答案:C
    解析:为了判断一个数n是不是素数,可以将n被2到根号2之间的所有整数除,如果都除不尽,则n就是素数,否则不是素数。本题是典型的判断素数的程序语句。

  • 第14题:

    素数的求法

    A.小范围内判断一个数是否为质数:

    function prime (n: integer): Boolean;

    var I: integer;


    正确答案:

     

    begin
    for I:=2 to trunc(sqrt(n)) do
    if n mod I=0 then begin
    prime:=false; exit;
    end;
    prime:=true;
    end;

  • 第15题:

    阅读以下说明和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

  • 第16题:

    阅读以下说明和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

  • 第17题:

    给定两个正整数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。

  • 第18题:

    利用穷举法编写一个算法判断给定的正整数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);
    }

  • 第19题:

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

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

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

  • 第20题:

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


    正确答案: 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++;
    }
    }

  • 第21题:

    单选题
    设有宏定义:#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选项。

  • 第22题:

    问答题
    利用穷举法编写一个算法判断给定的正整数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);
    }
    解析: 暂无解析

  • 第23题:

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

    正确答案: 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++;
    }
    }
    解析: 暂无解析