求帮助 请打印出三个数,要求三个数相加等于10的所有可能的组合(可重复) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最简单就是循环for (int i=0; i<10; i++) { for (int j=0; j<=10-i; j++) { if (i+j > 0 && j!=10) { System.out.printf("%d+%d+%d=10\n", i, j, 10-i-j); } }} 参考下 public static void t(int num) { int[] a = new int[10]; int sum = 0; int i = 0; a[i] = 1; while (true){ if (sum < num) { sum += a[i]; a[++i] = a[i - 1] + 1; } else { if (sum == num){ for(int j=0;j<i;j++) System.out.printf("%3d",a[j]); System.out.println(); } if(1==i)break; i--; sum -= a[i] + a[--i]++; } } } public static void main(String[] args) { t(10); } 基本三循环public class Sum { public static void main(String[] args) { for(int i=0;i<10;i++){ for(int n=0;n<10;n++){ for(int m=0;m<10;m++){ if(i+n+m==10){ System.out.println(i+" "+n+" "+m); } } } } }} public static void main(String[] args) { for(int i=1;i<10;i++) { for(int j=1;j<10;j++) { for(int k=1;k<10;k++) { if(i+j+k==10) { System.out.println(i+" "+j+" "+k); } } } } } 来个重复的。 public static void t(int num) { List<Integer> list=new ArrayList<Integer>(); int[] array=new int[num]; for(int i=1;i<array.length;i++) { array[i-1]=i; } for(int i=2;i<=num;i++) { int sum=0; list.clear(); for(int m=0,n=0;m<num-1;) { sum+=array[n]; list.add(array[n]); if(sum==num&&list.size()==i) System.out.println(list); if(n>=num-2 || sum>=num) { if(list.size()==1)break; sum-=list.remove(list.size()-1); if(list.size()==1) { n=++m; list.clear(); sum=0; continue; } n=list.get(list.size()-1); sum-=list.remove(list.size()-1); } if(list.size()>=i) { sum-=array[n++]; list.remove(list.size()-1); } } } } public static void main(String[] args) { t(10); }[1, 9][2, 8][3, 7][4, 6][5, 5][1, 1, 8][1, 2, 7][1, 3, 6][1, 4, 5][2, 2, 6][2, 3, 5][2, 4, 4][3, 3, 4][1, 1, 1, 7][1, 1, 2, 6][1, 1, 3, 5][1, 1, 4, 4][1, 2, 2, 5][1, 2, 3, 4][1, 3, 3, 3][2, 2, 2, 4][2, 2, 3, 3][1, 1, 1, 1, 6][1, 1, 1, 2, 5][1, 1, 1, 3, 4][1, 1, 2, 2, 4][1, 1, 2, 3, 3][1, 2, 2, 2, 3][2, 2, 2, 2, 2][1, 1, 1, 1, 1, 5][1, 1, 1, 1, 2, 4][1, 1, 1, 1, 3, 3][1, 1, 1, 2, 2, 3][1, 1, 2, 2, 2, 2][1, 1, 1, 1, 1, 1, 4][1, 1, 1, 1, 1, 2, 3][1, 1, 1, 1, 2, 2, 2][1, 1, 1, 1, 1, 1, 1, 3][1, 1, 1, 1, 1, 1, 2, 2][1, 1, 1, 1, 1, 1, 1, 1, 2][1, 1, 1, 1, 1, 1, 1, 1, 1, 1] " /* ... ^(*/)"的正则怎么写? ext4 关于treepanel 和tabpanel 混合使用 beforeclose 监听不好使的问题 问一个java反编译问题 Java中的接口可以定义成空接口吗?如果可以,那为什么要定义成空接口? 2种Main函数写法的区别 不知道这算不算一个BUG?? java 刚学java,有两个想不通的问题! 初学提问 新手,刚学到swing有一个小问题,请各位大哥帮帮忙,谢谢 web安全方面 jsse jaas 我用post模拟登陆,成功后,有个post提交的参数,调用的sendPost方法跟模拟登陆的一样,为什么无法成功?
for (int i=0; i<10; i++) {
for (int j=0; j<=10-i; j++) {
if (i+j > 0 && j!=10) {
System.out.printf("%d+%d+%d=10\n", i, j, 10-i-j);
}
}
}
int[] a = new int[10];
int sum = 0;
int i = 0;
a[i] = 1;
while (true){
if (sum < num) {
sum += a[i];
a[++i] = a[i - 1] + 1;
}
else {
if (sum == num){
for(int j=0;j<i;j++)
System.out.printf("%3d",a[j]);
System.out.println();
}
if(1==i)break;
i--;
sum -= a[i] + a[--i]++;
}
}
}
public static void main(String[] args) {
t(10);
}
for(int i=0;i<10;i++){
for(int n=0;n<10;n++){
for(int m=0;m<10;m++){
if(i+n+m==10){
System.out.println(i+" "+n+" "+m);
}
}
}
} }}
for(int i=1;i<10;i++) {
for(int j=1;j<10;j++) {
for(int k=1;k<10;k++) {
if(i+j+k==10) {
System.out.println(i+" "+j+" "+k);
}
}
}
}
}
{
List<Integer> list=new ArrayList<Integer>();
int[] array=new int[num];
for(int i=1;i<array.length;i++)
{
array[i-1]=i;
} for(int i=2;i<=num;i++)
{
int sum=0;
list.clear();
for(int m=0,n=0;m<num-1;)
{
sum+=array[n];
list.add(array[n]);
if(sum==num&&list.size()==i) System.out.println(list);
if(n>=num-2 || sum>=num)
{
if(list.size()==1)break;
sum-=list.remove(list.size()-1);
if(list.size()==1)
{
n=++m;
list.clear();
sum=0;
continue;
}
n=list.get(list.size()-1);
sum-=list.remove(list.size()-1);
}
if(list.size()>=i)
{
sum-=array[n++];
list.remove(list.size()-1);
} }
}
}
public static void main(String[] args)
{
t(10);
}[1, 9]
[2, 8]
[3, 7]
[4, 6]
[5, 5]
[1, 1, 8]
[1, 2, 7]
[1, 3, 6]
[1, 4, 5]
[2, 2, 6]
[2, 3, 5]
[2, 4, 4]
[3, 3, 4]
[1, 1, 1, 7]
[1, 1, 2, 6]
[1, 1, 3, 5]
[1, 1, 4, 4]
[1, 2, 2, 5]
[1, 2, 3, 4]
[1, 3, 3, 3]
[2, 2, 2, 4]
[2, 2, 3, 3]
[1, 1, 1, 1, 6]
[1, 1, 1, 2, 5]
[1, 1, 1, 3, 4]
[1, 1, 2, 2, 4]
[1, 1, 2, 3, 3]
[1, 2, 2, 2, 3]
[2, 2, 2, 2, 2]
[1, 1, 1, 1, 1, 5]
[1, 1, 1, 1, 2, 4]
[1, 1, 1, 1, 3, 3]
[1, 1, 1, 2, 2, 3]
[1, 1, 2, 2, 2, 2]
[1, 1, 1, 1, 1, 1, 4]
[1, 1, 1, 1, 1, 2, 3]
[1, 1, 1, 1, 2, 2, 2]
[1, 1, 1, 1, 1, 1, 1, 3]
[1, 1, 1, 1, 1, 1, 2, 2]
[1, 1, 1, 1, 1, 1, 1, 1, 2]
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1]