求大神 输入一个正整数n,判断n是否是素数.C++

作者&投稿:阎陈 (若有异议请与网页底部的电邮联系)
c++编写判断一个正整数是否是素数的函数~

int prime(int x)
你的函数运行后,如果是素数,返回 1,否则返回 0;
if(b==0) 这个语句写反了,b=0就不是素数啦;

你的

int prime(int x)函数里也是错的,if语句不能跳出循环,所以返回的 t就是就是最后一次循环的值



#include
using namespace std;
int prime(int x)
{
int n;
for(n=2;n<x/2;n++)
{
if(x%n==0)
return 0; //只要有一个因子就不是素数,没必要循环下去,直接退出
}
return 1;
}

int main()
{
int a,b;
cout<<"please input 1 number:";
cin>>a;
if(a<=1)
cout<<"输入有误";
else
{
b=prime(a);
{
if(b==1) //这里的值要与函数的返回值匹配
cout<<a<<"是素数"<<endl;
else
cout<<a<<"bu是素数"<<endl;
}
}
return 0;
}

//#include "stdafx.h"//vc++6.0加上这一行.
#include
using namespace std;
bool prime(int n){
int i;
if(n>2 && !(n&1) || n<2)return false;
for(i=3; i*i<=n;i+=2)
if(!(n%i)) return false;
return true;
}
void main(void){
int n;
cout << "Input an integer...
n=";
cin >> n;
if(prime(n)) cout << n << " is a primer...
";
else cout << n << " is not...
";
}

应该逻辑上错了,看懂别人写的代码比自己重新写难多了。

#include <iostream>
#include "math.h"
#include "stdlib.h"
using namespace std;
int main(int argc, char** argv) {
int n;
bool flag=false;
cin>>n;
for(int i=2;i<n;i++)
{
if(n%i==0)
{
flag=true;
break;
}
}
if(flag)
{
cout<<"yes"<<endl;
}
else
{
cout<<"no"<<endl;
}
system("pause");
return 0;
}


# include <iostream>
# include<math.h>
using namespace std;
int main ()
{
int n,i=2;
int k;                        //k定义为整数 舍去小数部分,
cin>>n;
k=sqrt(n);

while(i<=k)                    //是小于等于k
{
    if(n%i==0)

{cout<<"no";
break;}

else if(i==k)                //i一直加到等于k 还没有发现整除的数 则判断为素数!
{cout<<"yes";
}
i+=1;

}

return 0;
}


# include <iostream>
# include<math.h>
using namespace std;
int is_prime(int num)
{
    int isprime = 1;
    if(num < 2) return 0;
    if(num == 2) return isprime;
    for(int i = 2; i <= sqrt(num); ++i)
    {
        if((int(num)% i) == 0)
        {
            isprime = 0;
            break;
        }
    }
    return isprime;
}

int main ()
{
    int n,i=1;
    double k;
    cin>>n;
    if(is_prime(n)) cout<<"yes";
    else cout << "no";
    return 0;
}


#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
int n,i,f=0;
cin>>n;
for(i=1;i<=n;i++)
{
if(n%i==0) f=f+1;
}
if(f==2) cout<<"yes";
else cout<<"no";
return 0;
}


吕梁市13651014476: 编写java,输入正整数N,判断N是否为质数.就比如你输入91,电脑回答,不是质数,而输入91,则是.谢谢. -
方庄步复: package com.billedu.window;import java.util.Scanner;public class NewPro { public static void main(String[] args) {//程序入口 Scanner sc=new Scanner(System.in);//声明个输入System.out.println("请输入要判断的数字:");int num=sc...

吕梁市13651014476: 使用函数判断完全平方数:输入一个正整数n,判断其是否为完全平方数,如果是,则输出"YES",如果不 -
方庄步复: C可以这么写:#include <stdio.h> int IsSquare(int n){ int i; for(i=1;i*i<=n;i++); if(i--,i*i==n) return 1; return 0; } int main(int argc,char *argv[]){ int x; printf("Input x(int x>0)...\nx="); if(scanf("%d",&x)!=1 || x<1){ printf("Input error, exit...\n"); return 0; } printf(IsSquare(x) ? "YES\n" : "NO\n"); return 0; }

吕梁市13651014476: 有作业题 求教前辈 输入一个正整数n,判断该数是不是质数,如果是质数输出“n是一个质数 -
方庄步复: 这个是pascal语言写的,你看看 var i,j,k,l:longint; p:boolean; begin readln(l); p:=true; if l=2 then begin writeln('t'); end else begin for i:=2 to trunc(sqrt(l)) do begin if l mod i=0 then p:=false; end; if p then writeln('t') else writeln('f'); end; end.

吕梁市13651014476: VB编程当输入一个正整数n时,判断n是否为素数,输出n为素数或合数 -
方庄步复: Private Sub Command1_Click() Dim i%, n% n = Val(InputBox("")) For i = 2 To n / 2 If n Mod i = 0 Then Exit For Next If i >= n / 2 Then Print n; " is su shu" Else Print n; " is he shu" End If End Sub

吕梁市13651014476: 求一个c++编程:输入正整数n,判断是否是素数 -
方庄步复: #include<iostream.h>#include<math.h> void dis() { int n,k,i=1; cout<<"Ener n:"<<endl; cin>>n; k=sqrt(n); for(i=2;i<=k;i++)if(n%i==0)break; if(i>=k+1) cout<<"是素数"<<endl; else cout<<"不是素数"<<endl; } void main() { dis(); }

吕梁市13651014476: 最好输入一个正整数n(要求用代码的方式判定是否为正整数,若不是,则重新输入), 计算1!+2!+3 -
方庄步复: #include//使用递归求阶乘 long calc(long num){ if(num==1){ return 1; }else{ return num*calc(num-1); } } void main{ long i,sum=0,n; printf("请输入n:"); scanf("%ld",&n);//判断n是否是正整数,其实只要判断n是否小于0就可以,但是阶乘从1开...

吕梁市13651014476: 输入一个正整数n,程序作出判断,如果不是奇数,则要求重新输入,直到n为奇数为止.输出n行菱形 -
方庄步复: 辛苦写出来的代码如下: #include <iostream> #include <cmath> using namespace std; bool primeNumber(unsigned); void display(unsigned ); int main () {unsigned n;cout<<"请输入一个奇数:"<<endl;cin>>n;while(!primeNumber(n)){cout...

吕梁市13651014476: 用java语言编写程序,输入正整数N,判断N是否为质数,要求用for循环和取余运算符(%)来检测打 -
方庄步复: import java.util.Scanner; class abc{ public static void main(String args[]){ Scanner n = new Scanner(System.in); int x = 0; while(x != -1){ System.out.print("Input:"); x = n.nextInt(); if(isPrime(x)){ System.out.println(x+"是质数"); }else{ System.out....

吕梁市13651014476: pascal 题目:输入一个正整数N,判断N是否为素数 -
方庄步复: 用一个子程序 具体代码我给你 没测试呢 program abc; var i,k,m,n:longint; function isprime(n:longint):boolean; begin function:=true; for i:=2 to sqrt(n) do if n mod i=0 then begin function:=false; exit; end; end; begin readln(n); if isprime(n) then writeln('yes') else writeln('no'); end.

吕梁市13651014476: C语言编程:输入一个正整数n,判断它是否同时含有奇数字偶数字 -
方庄步复: #include <stdio.h> #include <stdlib.h> int main() { printf("请输入一个正整数:"); int n1,n2; bool flag1 = false,flag2 = false; scanf("%d",&n1); n2 = n1; while(n1) { if((n1%10)%2) flag1 = true; else flag2 = true; n1 = n1/10; } if(flag1 && flag2) ...

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