标题:砝码称量问题,思维训练-->爱以走远转移
只看楼主
csz88999
Rank: 1
来 自:云南
等 级:新手上路
帖 子:45
专家分:0
注 册:2007-6-1
 问题点数:0 回复次数:7 
砝码称量问题,思维训练-->爱以走远转移
砝码称量

  现有1g、2g、3g、5g、10g、20g的砝码各若干枚,问用这些砝码可以称出多少种不同的重量。(设砝码的总重量不超过1000克,且砝码只能放在天平的一端)
  输入方式:a1 a2 a3 a4 a5 a6
  (表示1g砝码有a1个,2g砝码有a2个,......20g砝码有a6个)
  输出方式:Total=N
  (N表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况)
  如:输入:1 1 0 0 0 0
  输出:Total=3 表示可以称出1g,2g,3g三种不同的重量。


在Turbo C2.0集成环境下运行.
搜索更多相关主题的帖子: 砝码 思维 称量 训练 
2007-06-01 20:28
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
得分:0 
LZ发错地方了

2007-06-01 20:46
csz88999
Rank: 1
来 自:云南
等 级:新手上路
帖 子:45
专家分:0
注 册:2007-6-1
得分:0 
回复:(菜鸟上路)LZ发错地方了[em04]

哦,那要发在哪呢/能不能告诉我一下呀


2007-06-01 20:48
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
得分:0 
一个比较简单的算法,效率不高,但应付楼主要求的数据量应该绰绰有余了

/**
* Written by [url=http://eastsun.javaeye.com]Eastsun[/url]
*/
#include<stdio.h>
#include<conio.h>
#define MAX 1000
#define SIZE 6
char flags[MAX+1];
int w[] ={1,2,3,5,10,20};
void check(int a[],int len){
int i,j;
if(len<=0) return;
check(a,len-1);
for(i=1;i<=a[len-1];i++)
for(j=MAX;j>=0;j--) if(flags[j]) flags[j+w[len-1]] =1;
}
int computer(int a[]){
int n,s=0;
flags[0] =1;
for(n=1;n<=MAX;n++) flags[n] =0;
check(a,SIZE);
for(n=1;n<=MAX;n++) s += flags[n];
return s;
}
int main(){
int a[SIZE],n;
printf(\"Input a1~a6:\");
for(n=0;n<SIZE;n++) scanf(\"%d\",&a[n]);
printf(\"Total: %d\",computer(a));
getch();
}

My BlogClick Me
2007-06-01 23:44
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
得分:0 
程序在gcc下编译通过,应该在TC下也没问题.

My BlogClick Me
2007-06-01 23:45
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
得分:0 
我感觉用穷举能做   

   好好活着,因为我们会死很久!!!
2007-06-02 01:48
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
得分:0 
我用的应该算动态规划吧

My BlogClick Me
2007-06-02 10:04
csz88999
Rank: 1
来 自:云南
等 级:新手上路
帖 子:45
专家分:0
注 册:2007-6-1
得分:0 
  谢谢大家呀.

2007-06-02 14:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-144153-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.573119 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved