求组合的最值 java_Java 最大连续组合值

/*

* 现有四种面值的邮票,分别为1,4,12,21(分)

* 现从中最多任意取5张,求取出这些邮票的最大连续组合值/

*/

package cn.jzsz;

public class huawei {

static int num=5,M=5;

static int k;

static boolean find;

static int Logo[]=new int[num];

static int Stamp[]={0,1,4,12,21};

//在剩余的张数n组合出面值和Value

public static boolean Comable(int n,int Value){

if(n>=0 && Value==0){

find = true;

int Sum = 0;

for(int i=0;i

Sum=Sum+Stamp[Logo[i]];

System.out.print(Stamp[Logo[i]]+",");

}System.out.println("总数为:"+Sum);

}else{

for(int i=1;i0;i++){

if(Value - Stamp[i]>=0){

Logo[k++]=i;

Comable(n-1,Value - Stamp[i]);

Logo[--k]=0;

}

}

}return find;

}

public static void main(String[] args) {

for(int i=1;Comable(num,i);i++,find=false);

}

}

/*输出是:

1,总数为:1

1,1,总数为:2

1,1,1,总数为:3

1,1,1,1,总数为:4

1,1,1,1,1,总数为:5

1,1,4,总数为:6

1,1,1,4,总数为:7

1,1,1,1,4,总数为:8

1,4,4,总数为:9

1,1,4,4,总数为:10

1,1,1,4,4,总数为:11

4,4,4,总数为:12

1,4,4,4,总数为:13

1,1,4,4,4,总数为:14

1,1,1,12,总数为:15

1,1,1,1,12,总数为:16

1,4,4,4,4,总数为:17

1,1,4,12,总数为:18

1,1,1,4,12,总数为:19

4,4,4,4,4,总数为:20

1,4,4,12,总数为:21

1,1,4,4,12,总数为:22

1,1,21,总数为:23

1,1,1,21,总数为:24

1,1,1,1,21,总数为:25

1,1,12,12,总数为:26

1,1,1,12,12,总数为:27

1,1,1,4,21,总数为:28

1,4,12,12,总数为:29

1,1,4,12,12,总数为:30

1,1,4,4,21,总数为:31

4,4,12,12,总数为:32

1,4,4,12,12,总数为:33

1,4,4,4,21,总数为:34

1,1,12,21,总数为:35

1,1,1,12,21,总数为:36

1,12,12,12,总数为:37

1,1,12,12,12,总数为:38

1,1,4,12,21,总数为:39

4,12,12,12,总数为:40

1,4,12,12,12,总数为:41

1,4,4,12,21,总数为:42

1,21,21,总数为:43

1,1,21,21,总数为:44

1,1,1,21,21,总数为:45

1,12,12,21,总数为:46

1,1,12,12,21,总数为:47

1,1,4,21,21,总数为:48

1,12,12,12,12,总数为:49

1,4,12,12,21,总数为:50

1,4,4,21,21,总数为:51

4,12,12,12,12,总数为:52

4,4,12,12,21,总数为:53

4,4,4,21,21,总数为:54

1,12,21,21,总数为:55

1,1,12,21,21,总数为:56

12,12,12,21,总数为:57

1,12,12,12,21,总数为:58

1,4,12,21,21,总数为:59

12,12,12,12,12,总数为:60

4,12,12,12,21,总数为:61

4,4,12,21,21,总数为:62

21,21,21,总数为:63

1,21,21,21,总数为:64

1,1,21,21,21,总数为:65

12,12,21,21,总数为:66

1,12,12,21,21,总数为:67

1,4,21,21,21,总数为:68

12,12,12,12,21,总数为:69

4,12,12,21,21,总数为:70

4,4,21,21,21,总数为:71*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值