求数值在 1 - 50 之内的任意5个数之和为100 。数值:1,2,3,4,5,6....48,49,50,取其中的任意5个数,但这5个数相加之和要等于100,并将所有这种组合罗列.
2007-02-27 16:03
351 查看
/**
* 求数值在 1 - 50 之内的任意5个数之和为100 。
* 数值:1,2,3,4,5,6....48,49,50
* 取其中的任意5个数,但这5个数相加之和要等于100,并将所有这种组合罗列
* 例: 1+10+19+20+50=100
* 3+14+16+27+40=100
*/
import java.util.*;
public class TotalList {
private LinkedList list = new LinkedList();
private void TotalEqual100(int begin,int end) {
for (int i1 = begin; i1 <= end; i1++) {
for (int i2 = i1 + 1; i2 <= end; i2++) {
for (int i3 = i2 + 1; i3 <= end; i3++) {
for (int i4 = i3 + 1; i4 <=end; i4++) {
for (int i5 = i4 + 1; i5 <= end; i5++) {
int count = i1+i2+i3+i4+i5;
String str = String.valueOf(i1)+"+"+i2+"+"+i3+"+"+i4+"+"+i5;
if(count == 100)
{
str+="="+count;
if(!list.contains(str))
{
list.add(str);
}
}
}
}
}
}
}
}
private void display()
{
Iterator it = list.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
public static void main(String[] args) {
TotalList tl = new TotalList();
tl.TotalEqual100(1,50);
tl.display();
System.out.println(tl.list.size());
}
}
* 求数值在 1 - 50 之内的任意5个数之和为100 。
* 数值:1,2,3,4,5,6....48,49,50
* 取其中的任意5个数,但这5个数相加之和要等于100,并将所有这种组合罗列
* 例: 1+10+19+20+50=100
* 3+14+16+27+40=100
*/
import java.util.*;
public class TotalList {
private LinkedList list = new LinkedList();
private void TotalEqual100(int begin,int end) {
for (int i1 = begin; i1 <= end; i1++) {
for (int i2 = i1 + 1; i2 <= end; i2++) {
for (int i3 = i2 + 1; i3 <= end; i3++) {
for (int i4 = i3 + 1; i4 <=end; i4++) {
for (int i5 = i4 + 1; i5 <= end; i5++) {
int count = i1+i2+i3+i4+i5;
String str = String.valueOf(i1)+"+"+i2+"+"+i3+"+"+i4+"+"+i5;
if(count == 100)
{
str+="="+count;
if(!list.contains(str))
{
list.add(str);
}
}
}
}
}
}
}
}
private void display()
{
Iterator it = list.iterator();
while(it.hasNext())
{
System.out.println(it.next());
}
}
public static void main(String[] args) {
TotalList tl = new TotalList();
tl.TotalEqual100(1,50);
tl.display();
System.out.println(tl.list.size());
}
}
相关文章推荐
- 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来
- 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.
- 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.
- 19. 中兴面试题:输入两个整数n和m, 从数列1,2,...,n中任意选择几个数,使其和等于m, 要求编写程序输出所有的组合
- 输入两个整数n和m, 从数列1,2,...,n中任意选择几个数,使其和等于m, 要求编写程序输出所有的组合
- 1,2,5,10四个基数任意次数组合相加得到一个数N,求所有可能组合
- 输入两个整数n和m,从数列1,2,3....n中随意取几个数,使其和等于m,要求将其中所有的可能组合列出来
- 输入两个整数n 和m,从数列1,2,3.......n 中随意取几个数,使其和等于m ,要求将其中所有的可能组合列出来.
- 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.
- 输入两个整数 n 和 m,从数列 1,2,3.......n 中随意取几个数, 使其和等于 m ,要求将其中所有的可能组合列出来.
- 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来.
- 输入两个整数n和m, 从数列1,2,...,n中任意选择几个数,使其和等于m, 要求编写程序输出所有的组合
- [面试题]设计一个算法找到数组中两个元素相加等于指定数的所有组合
- 百度2014校园招聘算法——给出一组数据A=[a_0, a_1, a-2, ... a_n](其中n可变),打印出该数值元素的所有组合。
- java实现 数组中两个元素相加等于指定数的所有组合
- 四个基数任意次数组合相加得到一个数N,求所有可能组合
- 实现求出若干整数之和为500的连续整数(如98,99,100,101,102)的所有组合&&产生一个int数组,长度为100,并向其中随机插入1~100,要求不能重复
- 输出100以内连续整数相加和等于100的所有组合数
- 给出一个数组 求任意个数的数相加的和等于给定数 输出所有满足条件的数
- 输入两个正整数n和m,从数列1,2,3.......n中随意取几个数,使其和等于m,要求将其中所有的可能组合列出来.编程求解