这样不知道对不对啊 Scanner in = new Scanner(System.in); while (true) { int a, b; a = in.nextInt(); // 奇偶判断 if (a % 2 == 0) { b = a / 2; } else { b = (a + 1) / 2; } int y = 1; for (int i = 1; i <= b; i++) { String s1 = ""; int tempSum = 0; for (int j = i; j <= b; j++) { s1 += j + "+"; tempSum += j; if (tempSum == a) { System.out.println(a + " = " + s1.substring(0, s1.length()-1)); y++; break; } } } System.out.println(y); }
如果你是在OJ上做题的话,类名要是Main 而且多组输入时也要注意一下 import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner in=new Scanner(System.in); while(in.hasNext()){ int a,b; a=in.nextInt(); if(a%2==0){ b=a/2; }else{ b=(a+1)/2; } int y=1; for(int i=1;i<b;i++){ int x=0; for(int j=i;x<a;j++){ x=x+j; } if(x==a){ y=y+1; } } System.out.println(y); } } }
while (true) {
int a, b;
a = in.nextInt();
// 奇偶判断
if (a % 2 == 0) {
b = a / 2;
} else {
b = (a + 1) / 2;
}
int y = 1;
for (int i = 1; i <= b; i++) {
String s1 = "";
int tempSum = 0;
for (int j = i; j <= b; j++) {
s1 += j + "+";
tempSum += j;
if (tempSum == a) {
System.out.println(a + " = " + s1.substring(0, s1.length()-1));
y++;
break;
}
}
}
System.out.println(y);
}
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner in=new Scanner(System.in);
while(in.hasNext()){
int a,b;
a=in.nextInt();
if(a%2==0){
b=a/2;
}else{
b=(a+1)/2;
}
int y=1;
for(int i=1;i<b;i++){
int x=0;
for(int j=i;x<a;j++){
x=x+j;
}
if(x==a){
y=y+1;
}
}
System.out.println(y);
}
}
}