如何用JAVA输出1到35间用5个数相加得到100,把这5个数输出来
发布网友
发布时间:2023-08-21 18:52
我来回答
共6个回答
热心网友
时间:2024-03-10 13:55
1楼你输入个字母看看。。。
import java.util.Scanner;
public class Test {
public int getInputInt() {
Scanner scan = new Scanner(System.in);
System.out.print("Please input the sum:");
int s = 0;
try {
s = scan.nextInt();
} catch (RuntimeException e) {
System.out.println("输入错误,请重新输入.");
s = getInputInt();
}
return s;
}
public void showResult(int sum) {
int temp;
for (int a = 1; a <= 31; a++) {
for (int b = a + 1; b <= 32; b++) {
for (int c = b + 1; c <= 33; c++) {
for (int d = c + 1; d <= 34; d++) {
for (int e = d + 1; e <= 35; e++) {
temp = a + b + c + d + e;
if (temp > sum) break;
if (temp == sum) {
System.out.println(a + "+" + b + "+" + c + "+"
+ d + "+" + e + "=" + sum);
}
}
}
}
}
}
System.out.println("结果显示完毕!");
}
public static void main(String[] args) {
Test t = new Test();
int sum = t.getInputInt();
t.showResult(sum);
}
}
热心网友
时间:2024-03-10 13:56
1楼的方法感觉太麻烦了点
速度应该不是很好
不过我也只能想出这样循环相加的方法了
呵呵
要想方法简单,要从数学方面对题目进行分析、化简,对不可能的组合就不检查了。
热心网友
时间:2024-03-10 13:56
最小不能小于35吧,最大不能大于35*5=175吧。
热心网友
时间:2024-03-10 13:57
public
class
java100{
public
static
void
main(string[]
args){
for
(int
i=0;
i<100;
i++
){
system.out.println("java");
}
}
}
int
i
=
0;
while(i
=
0;
i
<
100;
i
++)
{
system.out.println("java");
}
热心网友
时间:2024-03-10 13:57
经测试可以,不过结果貌似比较多。
import java.util.*;
class asum
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Please input the sum");
int s = 0;
while(true) {
try
{
s = scan.nextInt();
break;
}
catch (InputMismatchException e)
{
System.out.println("输入错误,请重新输入:");
}
}
for(int i=1; i<=35; i++) {
for(int j=1; j<=i; j++) {
for(int m=1; m<=j; m++) {
for(int n=1; n<=m; n++) {
for(int x=1; x<=n; x++) {
if(i+j+m+n+x==s) {
System.out.println(i + "+" + j + "+" + m + "+" + n + "+" + x + "=" + s);
}
}
}
}
}
}
}
}
热心网友
时间:2024-03-10 13:58
1楼的方法感觉太麻烦了点
速度应该不是很好
不过我也只能想出这样循环相加的方法了
呵呵