当前位置:首页 » 编程语言 » java合数

java合数

发布时间: 2022-09-27 12:17:44

‘壹’ 用java如何写代码去判断质数和合数

首先介绍下:质数是除了本身和1以外,没有质因数,就是没有数能够整除之;合数是除了本身和1以外还有第三个数能整除之。
具体示例代码如下:

publicclassDemo2{
publicstaticvoidmain(String[]args){
Scannerscan=newScanner(System.in);
System.out.print("请输入一个数:");
intnum=scan.nextInt();
intindex=0;//使用一个数来标记是质数还是合数
for(inti=2;i<num;i++){
if(num%i==0){
index++;
}
}
if(index==0){//index等于0表示质数
System.out.println("这是个质数");
}
else{//index大于0表示合数
System.out.println("这是个合数");
}
}
}

需要注意的是:1不算质数也不算合数。

‘贰’ 用java 程序判断合数

//判断合数,文件名HSPD.java
public class HSPD {
public boolean isPrime(int k) {
boolean flag = true;
int max = (int) Math.sqrt(k);
if(k==1||k==0){
flag = false;
}
for (int i = 2; i <= max; i++) {
if (k % i == 0) {
flag = false;
break;
}

}
return flag;
}
public static void main(String args[]){
HSPD k=new HSPD();
boolean s;
s=k.isPrime(256);
System.out.println("输入数是256");
if(s==false){
System.out.println("输入数是合数!");
}
else{
System.out.println("输入数是素数!");
}
}
}

‘叁’ java编程:求解1到100间的合数之和,高手帮忙.

public class text {
public text() {
}

private int getSum()
{
int sum = 0;
for(int i=2;i<=100;i++)
{
if(!this.isPrimeNumber(i))
sum += i; //是合数则累加

}
return sum;
}
/**
*判断是否是合数
*/
private boolean isPrimeNumber(int number)
{
for(int i=2;i<number;i++)
{
if(number%i == 0)
return false;
}
return true;
}

public static void main(String[] args) {
text text = new text();
System.out.println("1-100的合数的和是:"+text.getSum());
}
}

‘肆’ 编写java代码:判断1-200之间有多少个合数(非素数),并输出所有合数

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
//count统计素数个数
int count=1;
boolean flag;
//所有除2的偶数都不是素数
for(int i=3;i<200;i=i+2)
{
//默认当前循环的数不是素数,标记flag为true
flag=true;
for(int j=2;j<i;j++)
{
if(i%j==0)
{
//统计素数个数自增长,将标记flag调整为false
flag=false;
break;
}
}
if(flag){
System.out.println("当前素数为:"+i);
count++;
}
}
int num=200-count;
System.out.println("素数个数为:"+count);
System.out.println("非素数个数为:"+num);
}

}

‘伍’ 一道java编程,求10个最小的连续合数

public class ex5_3 {
public static void main(String args[]){
int m=4,n=0,k=0;
while(k!=1){
loop:
for(n=m;n<=m+9;n++)
{
System.out.print("n="+n+",");
System.out.println("m="+m);
if(judge(n)==0)
{
System.out.println("n="+n+"时,n为素数");
System.out.println("跳出循环");
System.out.println();
System.out.println("下一行的m和n的值应该相等");
n=m;//少这一句

m++;
continue loop;
}

}
k=1; n=m+9; System.out.println(m+"-"+n);
}

}

static int judge(int x){
int flag=0;
for(int i=2;i<=Math.sqrt(x);i++){
if(x%i==0) flag=1;
}
return flag;
}
}

你的程序出错的原因是continue loop;意思是“执行下一次循环”而不是“跳出循环之后再次执行这个循环”,它不会执行for(n=m;n<=m+9;n++)里面的n=m这一句(你把n=m,改成n=4,并不影响结果),而仅仅是将上一次循环之后的n值自加1,然后和n<m+9,进行比较,如果成立就执行循环体,所以我在循环中人为设置了n=m这一句,你执行一下,看看打印的内容,就知道了。

你的程序因为没有人为设置n=m,所以仅仅就执行“如果n是素数(质数),m就自加1”当n=5,7,11,13,17,这5个值时m进行自加,从4变成了9,当在进行下一次循环时n=18,m=9已经到了n<=m+9的临界,再下一次循环n=19,m=9时判断条件不成立循环就结束了,所以打印出了那个临界时的n和m的值。

‘陆’ 求1至100之间的合数之和JAVA编程题

public class Test{
public static void main(String []args){
int cn = 0;
for(int i=1;i<=100;i++){
i=i%10;
cn = cn+i;
}
System.out.println("个位上数之和 "+cnt);
}
}

‘柒’ Java小程序,求100以内的合数

//循环100以内的数(除去1)
for(intn=2;n<=100;n++)
{
//循环相除2-自身一半的数
for(inti=2;i<=n/2;i++)
{
//如果找到一个数能整除,则为合数
if(n%i==0)
{
System.out.println(n);
//跳出循环
break;
}
}
}

‘捌’ java判断随机数质数合数

你的do-while循环的判断条件写反了,应该写继续循环的条件,而不是退出循环的条件.

即把while((r==0)||(i>x));改成while((r!=0)&&(i<=x));就行了.

多试几次,就会既有合数又有质数了.

完整的Java程序如下:

importjava.util.Random;

publicclasshe{

publicstaticvoidmain(String[]args){

Randomrandom=newRandom();

intn;

n=random.nextInt(100)+0;

System.out.println("n="+n);

inti;

i=2;

intr=0;

intx=n-1;

do{

r=n%i;

i=i+1;

}while((r!=0)&&(i<=x));

if(r==0){

System.out.println("n是合数");

}else{

System.out.println("n是质数");

System.out.println("r="+r);

System.out.println("i="+i);

}

}

}

运行结果:

n=97
n是质数
r=1
i=97

n=27
n是合数

‘玖’ 如何用JAVA来判断一个数为质数和合数,要求在DOS输入一个数,用JAVA来判断

importjava.util.Scanner;
publicclassIsPrime{
Scannerinput=newScanner(System.in);
//用户输入的数
intnum=0;
//标记是否是质数
booleanflag=true;
System.out.println("请输入你要判断的数:");
num=input.nextInt();
if(num<=0){
System.out.println("你输入的数不合法!");
System.exit(0);//程序结束
}
if(num==1){
System.out.println("既不是质数也不是合数");
System.exit(0);//程序结束
}

for(inti=2;i<=num;i++){
//判断是否找到一个能被整除的,如果找到不是质数就是合数,否则相反
if(num%i==0){
flag=false;
break;
}
}

if(flag==true){
System.out.println("是质数");
}else{
System.out.println("是合数");
}

}

‘拾’ java的素数和数问题

public class Number
{
int[] num;//用于存放1000~2000的所有数
private boolean prime(int num)//用于判断数num是否为素数,若是则返回true
{
int count=0;
for(int i=2;i<(int)(Math.sqrt(num))+1;i++)
{
if(num%i==0)
count++;
}
if(count>0)
return false;
else return true;
}
public void num()//将1000~2000之间的数存入num中,并区别素数和合数
{
int[] num=new int[2000-1000+1];
for(int i=1000;i<2001;i++)
{
if(this.prime(i))
num[i-1000]=i;
else num[i-1000]=-i;
this.num=num;
}
}
public void factorization(int num)
{
int temp=num;
int n_fcr=0;
int n=(int)(Math.log(num)/Math.log(2))+1;
int[] factor=new int[n];
for(int i=2,j=0;i<1000;)
{
if(num%i==0&&(this.prime(i)))
{
factor[j]=i;
j++;
num=num/i;
}
else i++;
}
for(int i=0;i<n;i++)
if(factor[i]!=0)
n_fcr++;
System.out.print(temp+"=");
for(int i=0,j=0;i<n;i++)
{
if(factor[i]!=0)
{
if(j<n_fcr-1)
{
System.out.print(factor[i]+"*");
}
else
{
System.out.print(factor[n_fcr-1]);
}
j++;
}
}
System.out.println();
}
public void printPrime()
{
System.out.println("Prime:");
for(int i=0;i<2000-1000+1;i++)
{
if(this.num[i]>0)
System.out.print(num[i]+" ");
}
System.out.println();
}
public static void main(String args[])
{
Number number=new Number();
number.num();
number.printPrime();
for(int i=0;i<2000-1000+1;i++)
{
if(number.num[i]<0)
{
number.factorization(-number.num[i]);
}
}

}
}
不好写,我运行了一遍,结果是对的,你看看吧,有什么不明白的地方尽管问我

热点内容
oracle分页sql怎么写 发布:2024-12-27 11:02:02 浏览:845
服务器如何远程集中管理 发布:2024-12-27 11:00:26 浏览:889
android解锁代码 发布:2024-12-27 10:58:25 浏览:739
linuxusb摄像头的驱动 发布:2024-12-27 10:58:13 浏览:5
斗罗电脑版服务器 发布:2024-12-27 10:57:26 浏览:32
linux添加日志服务器地址 发布:2024-12-27 10:52:35 浏览:563
dlink路由器初始密码怎么修改 发布:2024-12-27 10:49:56 浏览:213
java短信接口源码 发布:2024-12-27 10:49:05 浏览:441
米8安卓8刷安卓9怎么刷 发布:2024-12-27 10:49:04 浏览:454
阿里云服务器其他账号托管 发布:2024-12-27 10:37:22 浏览:722