zoukankan      html  css  js  c++  java
  • 整币兑换问题

    hdu 2021 发工资咯 - 2014年 - 博客园=========================rwkj  1412
    http://www.cnblogs.com/wc12436109/p/3871975.html

    rwkj  1410 

    算法分析与设计:贪心(找钱问题)

    时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte
    总提交:191            测试通过:55

    描述

    买火车票时经常会碰到找钱问题。售票员手中有50、20、10、5、1元的钱币,你知道怎么找钱才能使找回的零钱张数最少吗?

    输入

    多组测试数据,输入需要找钱的钱数

    输出

    对每组测试数据按下面格式输出:
    第一行输出"change:",然后是你要找的钱
    以下几行按面值从大到小输出要找的张数,格式如下:50 yuan: 1,如果1张也没有就不需要输出

    样例输入

    76

    样例输出

    change:76
    50 yuan:1
    20 yuan:1
    5 yuan:1
    1 yuan:1

     

     

    #include <stdio.h>
    int main( )
    {
    int n,x;
    while(scanf("%d",&x)!=EOF)
    {
    printf("change:%d
    ",x);
    for(n=0;x>=50;n++)x=x-50;
    if(n>0)printf("50 yuan:%d
    ",n);
    for(n=0;x>=20;n++)x=x-20;
    if(n>0)printf("20 yuan:%d
    ",n);
    for(n=0;x>=5;n++)x=x-5;
    if(n>0)printf("5 yuan:%d
    ",n);    
    if(x>0)printf("1 yuan:%d
    ",x);        
    }
    return 0;
    } 
    View Code

    #include <stdio.h>
    int main( )
    {
    int n,x;
    while(scanf("%d",&x)!=EOF)
    {
    printf("change:%d ",x);
    for(n=0;x>=50;n++)x=x-50;
    if(n>0)printf("50 yuan:%d ",n);
    for(n=0;x>=20;n++)x=x-20;
    if(n>0)printf("20 yuan:%d ",n);
    for(n=0;x>=5;n++)x=x-5;
    if(n>0)printf("5 yuan:%d ",n);
    if(x>0)printf("1 yuan:%d ",x);
    }
    return 0;
    }

    #include <stdio.h>
    int main( )
    {
    int p1,p2,p5,p10,p20,p50,n,m ;
    n=100 ;
    m=0;
    for(p1=0; p1<=n; p1++)
    for(p2=0; p2<=n/2; p2++)
    for(p5=0; p5<=n/5; p5++)
    for(p10=0; p10<=n/10; p10++)
    for(p20=0; p20<=n/20; p20++)
    for(p50=0; p50<=n/50; p50++)
    if( p1+2*p2+5*p5+10*p10+20*p20+50*p50==n ) m++ ;

    printf("%d ",m) ;


    }

     

    ************************************************************
    ************************************************************************

    #include <stdio.h>
    int main( )
    {
    int p1,p2,p5,p10,p20,p50,n,m ;
    n=100 ;
    m=0;

    for(p2=0; p2<=n/2; p2++)
    for(p5=0; p5<=n/5; p5++)
    for(p10=0; p10<=n/10; p10++)
    for(p20=0; p20<=n/20; p20++)
    for(p50=0; p50<=n/50; p50++)
    {
    p1=n-(2*p2+5*p5+10*p10+20*p20+50*p50) ;
    if(p1>=0) m++ ;
    }

    printf("%d ",m) ;

    }


    **********************************************

    ************************************************************


    #include <stdio.h>
    int main( )
    { int p1,p2,p5,p10,p20,p50,n,m ;
    n=100 ; m=0 ;
    for(p2=0; p2<=n/2; p2++ )
    for(p5=0; p5<=(n-2*p2)/5; p5++ )
    for(p10=0; p10<=(n-2*p2-5*p5)/10 ; p10++ )
    for(p20=0 ;p20<=(n-2*p2-5*p5-10*p10)/20 ; p20++)
    for(p50=0 ; p50<=(n-2*p2-5*p5-10*p10-20*p20)/50; p50++)

    {
    p1=n-(2*p2+5*p5+10*p10+20*p20+50*p50) ;
    if(p1>=0) m++ ;
    }
    printf("%d ",m) ;

    }

     

     

     

     

     

     

     

     

  • 相关阅读:
    如何显示Mac中文件的路径(path)
    什么样的音符对听起来悦耳?
    如何用iMovie剪辑视频
    【转】基因的故事
    4阶魔方解决方案
    SQ1魔方解决方案
    如何将Wikipedia链接的Unicode编码转成百分号编码
    我喜欢的LaTex编辑器
    react(redux)
    React (高阶组件)
  • 原文地址:https://www.cnblogs.com/2014acm/p/3901372.html
Copyright © 2011-2022 走看看