设计一个函数,用以判断一个整数是否为素数,如果是,则返回1;如果不是,则返回0;并利用此函数,找出m-n 5

设计一个函数,用以判断一个整数是否为素数,如果是,则返回1;如果不是,则返回0;并利用此函数,找出m-n之间的所有素数,并统计其个数,m、n由键盘输入。输入:数据范围m-... 设计一个函数,用以判断一个整数是否为素数,如果是,则返回1;如果不是,则返回0;并利用此函数,找出m-n之间的所有素数,并统计其个数,m、n由键盘输入。
输入: 数据范围m-n。

输出: m-n之间的所有素数及个数。
输入样例: 100 200

输出样例: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
21
c语言程序
展开
 我来答
mzocean
2011-03-29 · TA获得超过1083个赞
知道小有建树答主
回答量:492
采纳率:33%
帮助的人:471万
展开全部
可以负责任的说楼上的方法是错误的,会判断失误,比如121就会被当成素数,正确的算法是将这个数除以从2到这个数开二次方根,如果都除不尽才是素数。给你个java语言算法,忘了c++语法怎么写了。
int suShuRange(int m,int n){
for(int i=m;i<=n;i++){
if(judge(i))System.out.print("i ");//输出i
}
}
boolean judge(int n){//判断n是否为素数
for(int i=2;i<Math.sqrt(n);i++)
if(n%i==0)return false;
return true;
}
c语言的,我就把一楼改了,请试试吧
#include<iostream>
using namespace std;
int count;
void panduan(int a,int b)
{
for(int i=a;i<=b;i++)
{
for(int j=2;j<sqrt(i);j++)
if(i%j==0)return;
cout<<i<<endl;
}
}
void main()
{
int m,n;
cin<<m<<n;
panduan(m,n);
cout<<endl;
cout<<coun;
}
flyingFish211
2011-03-23 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
JAVA 实现,输入的数字之间要用空白隔开.如果输入的第一个数字比第二个小,譬如200 100程序提示小了。会自动调整比较100, 200

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

System.out.print("Please input two digits(separate with space): ");
Scanner scanner = new Scanner(System.in);

String input = scanner.nextLine();

String[] nums = input.split("\\s+");

int min = Integer.parseInt(nums[0].trim());
int max = Integer.parseInt(nums[1].trim());
if(min > max){
int temp = min;
min = max;
max = min;
System.out.println("输入的第一个数字比第2个大,出错!程序将比较" + max + "和" + min + “之间的质数");
}

int primeNumCount = 0;

for(int i = min; i <= max; i++){
if(validatePrimeNum(i) == 1){
System.out.print(i + " ");
primeNumCount++;
}
}

System.out.println("\nTotal " + primeNumCount + " prime number found between " + min + " and " + max);

}

public static int validatePrimeNum(int num){

for(int i = 2; i <= Math.sqrt(num); i++){
if(num % i == 0){
return 0;
}
}

return 1;
}
}

--------------------
Please input two digits(separate with space): 100 200
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
Total 21 prime number found between 100 and 200
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jarrywd
2011-03-22 · TA获得超过100个赞
知道答主
回答量:81
采纳率:0%
帮助的人:76.4万
展开全部
#include<stdio.h>
int count;
void panduan(int a,int b)
{
for(int i=0;i<a-b;i++)
{
if(((a%2)!=0)&&((a%3)!=0)&&((a%5)!=0))
{
printf(%d,a," ");
count++;
}
}
void main()
{
int m,n;
scanf(&m,%d,&n,%d);
panduan(m,n);
printf(\n,%d,count);
}

C程序很久没有编过来,估计有不少错误,不过思路应该是可行的,下面再给一个C++程序,其实与C差不多,只是输入输出简单些,所以本人觉得编程相对要简单些。
#include<iostream>
using namespace std;
int count;
void panduan(int a,int b)
{
for(a<=b)
{
if(((a%2)!=0)&&((a%3)!=0)&&((a%5)!=0))
{
cout<<a<<" ";
count++;
}
a++;
}
void main()
{
int m,n;
cin<<m<<n;
panduan(m,n);
cout<<endl;
cout<<coun;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5c189b2e1
2011-03-22 · TA获得超过310个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:197万
展开全部
import java.util.*;
public class Test{
public static void main(String[]args){
Scanner sc = new Scanner(System.in);
int value=0;
int values=0;
value = sc.nextInt();
values = sc.nextInt();
new Test().check(value,values);
}
public void check(int i,int j){
boolean boo = false;
if(i>j){
System.out.println("你输入的数字不符合");
}else{
for(int k=i;k<j;k++){
for(int h=k-1;h>1;h--){
if(k%h==0){
boo = true;
}
}
if(boo == false){
System.out.print(k+" ");
}else{
boo = false;
}
}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hjjpzy
2011-03-30 · TA获得超过570个赞
知道答主
回答量:86
采纳率:0%
帮助的人:22.1万
展开全部
void sushu( int x )
{
if(x<2)
return 0;
if(x=2)
return 1;
int i,loop=1;
for(i=2;i<x;i++)
{
if(x%i==0)
{
loop=0;
continue;
}
}
return loop;
}
调用就可以了。这是一个判断函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式