设计一个函数,用以判断一个整数是否为素数,如果是,则返回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语言程序 展开
输入: 数据范围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语言程序 展开
5个回答
展开全部
可以负责任的说楼上的方法是错误的,会判断失误,比如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;
}
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;
}
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
}
}
}
}
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;
}
}
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
}
调用就可以了。这是一个判断函数。
{
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;
}
调用就可以了。这是一个判断函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询