| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3169 人关注过本帖
标题:[有奖趣题]ACM大赛题目
只看楼主 加入收藏
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
结帖率:66.67%
收藏
 问题点数:0 回复次数:10 
[有奖趣题]ACM大赛题目

1dollar = 100cents (1元美金=100分钱)

Penny=$0.01 Nickel=$0.05 Dime=$0.10 Quarter=$0.25 Half Dollar=$0.50

美金中有以上五种金币,用以上金币拼出1元美金就是100分,有多少种方法。

例如,输入1,就输出292,就是说,1元可以有292种组合方法。 而且,由运行时输入,然后给出方法数,范围是2元以下(含2元)。

[此贴子已经被作者于2004-11-17 22:08:52编辑过]

搜索更多相关主题的帖子: ACM 大赛 题目 
2004-11-17 22:03
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 

题目的意思是,用5种不同面值的金币,组成1元美金的可能数。

例如:100个1分钱是一种方法,20个5分钱,10个10分钱,4个25分,2个50分,还可以混合来组。

2004-11-17 22:05
空前
Rank: 1
等 级:新手上路
帖 子:1146
专家分:0
注 册:2004-5-11
收藏
得分:0 

#include<stdio.h>

main()

{int i=0,a,b,c,d,e,f;

printf("Input the money:"); scanf("%d",&f);

for(a=0;a<=100;a++)

for(b=0;b<=20;b++)

for(c=0;c<=10;c++)

for(d=0;d<=4;d++)

for(e=0;e<=2;e++)

if(a+b*5+c*10+d*20+e*50==f*100) i++;

printf("The total=%d\n");

getch();

}


2004-11-17 22:53
天使预备役
Rank: 2
等 级:论坛游民
威 望:3
帖 子:670
专家分:10
注 册:2004-4-6
收藏
得分:0 

百鸡百钱的变形!!!!

可以注意一下,几个循环把哪个循环放到最外面,从而减少循环次数!!!


差点把你忘了...
2004-11-18 08:53
hzh5125
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2004-11-12
收藏
得分:0 

上面的大虾说的对,就是用穷举法做的

不过,上面的这个程序好象不对的!!


不学好C语言,誓不罢休!   大虾,帮我!!:*@
2004-11-18 20:37
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
给空前15分
2004-11-19 20:56
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
不过好像给得太少了
2004-11-19 20:56
风中涟漪
Rank: 1
等 级:新手上路
帖 子:234
专家分:0
注 册:2004-8-9
收藏
得分:0 

#include<iostream.h> #include<stdlib.h>

void main() { int count=0; float temp; cout<<"input value of money:"; cin>>temp; int value=int(temp*100); for(int half=0; 50*half<=value; half++) for(int quarter=0; 25*quarter+50*half<=value; quarter++) for(int dime=0; 10*dime+25*quarter+50*half<=value; dime++) for(int nickle=0; 5*nickle+10*dime+25*quarter+50*half<=value; nickle++) for(int penny=0; penny+5*nickle+10*dime+25*quarter+50*half<=value; penny++) if(penny+5*nickle+10*dime+25*quarter+50*half==value) count++; cout<<"There are "<<count<<" ways to make $"<<temp<<endl; system("pause"); }


2004-11-19 21:54
live41
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:12442
专家分:0
注 册:2004-7-22
收藏
得分:0 
马甲动作好快。给分你。呵呵……
2004-11-19 21:55
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
以下是引用风中涟漪在2004-11-19 21:54:36的发言:

#include<iostream.h> #include<stdlib.h>

void main() { int count=0; float temp; cout<<"input value of money:"; cin>>temp; int value=int(temp*100); for(int half=0; 50*half<=value; half++) for(int quarter=0; 25*quarter+50*half<=value; quarter++) for(int dime=0; 10*dime+25*quarter+50*half<=value; dime++) for(int nickle=0; 5*nickle+10*dime+25*quarter+50*half<=value; nickle++) for(int penny=0; penny+5*nickle+10*dime+25*quarter+50*half<=value; penny++) if(penny+5*nickle+10*dime+25*quarter+50*half==value) count++; cout<<"There are "<<count<<" ways to make $"<<temp<<endl; system("pause"); }

抗议!严重抗议!!这种答案还有分给?!

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2004-11-20 13:01
快速回复:[有奖趣题]ACM大赛题目
数据加载中...
 
   



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

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