Description
设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000),
要求:
输入方式:a1 a2 a3 a4 a5 a6
(表示1g砝码有a1个,2g砝码有a2个,…,20g砝码有a6个)
输出方式:N
(N表示用这些砝码能称出的不同重量的个数,但不包括一个砝码也不用的情况)
Input
Output
Sample Input
1 1 0 0 0 0
Sample Output
3 表示可以称出1g,2g,3g三种不同的重量。
解题思路:用枚举的方法,六重循环,一一枚举,最后统计输出即可。
程序:
const
maxm=1000;
var
a,s:array[0..maxm]of longint;
i1,i2,i3,i4,i5,i6,ans:longint;
begin
for i1:=1 to 6 do
read(s[i1]);
for i1:=0 to s[1] do
for i2:=0 to s[2] do
for i3:=0 to s[3] do
for i4:=0 to s[4] do
for i5:=0 to s[5] do
for i6:=0 to s[6] do
if a[i1+i2*2+i3*3+i4*5+i5*10+i6*20]=0 then inc(a[i1+i2*2+i3*3+i4*5+i5*10+i6*20]);
for i1:=1 to maxm do
if a[i1]>0 then inc(ans);
writeln(ans);
end.
版权属于: Chris
原文地址:http://blog.sina.com.cn/s/blog_83ac6af80102vb7f.html
转载时必须以链接形式注明原始出处及本声明。