Manchester


私信TA

用户名:wenyajie

访问量:146553

签 名:

在历史前进的逻辑中前进,这个逻辑就是人心向背的逻辑

等  级
排  名 1
经  验 35768
参赛次数 1
文章发表 183
年  龄 0
在职情况 学生
学  校 Qing Dao University
专  业 计算机科学

  自我简介:

在历史前进的逻辑中前进,这个逻辑就是人心向背的逻辑

解题思路:
1.根据百钱百鸡问题,百钱买到一百只鸡,输出方法;

2.这里变为任意钱买钱,只要三种面值的钱都买到,就是成立的买法;

3.每种钱都要买到,故每种钱的初始张数都为1;

4.把有的钱money,先买面值为5的钱,所剩余的钱为:moneyleft_forliangyuan=money-wuyuan*5;

(wuyuan:面值为5的钱的张数)

5.把剩余的钱买面值为2的钱,所剩余的钱为:moneyleft_foryiyuan=moneyleft_forliangyuan-liangyuan*2;

(liangyuan:面值为2的钱的张数)

6.最后把剩下的钱买面值为1的钱,(注意:至少有一张1元),故当moneyleft_foryiyuan>=1时,整个买法成立;


参考代码:

#include<stdio.h>

int main()
{

  int money,approach=0;
  while(scanf("%d",&money)!=EOF)
  {  approach=0;
     for(int wuyuan=1;wuyuan<=money/5;wuyuan++)
         {
            int moneyleft_forliangyuan=money-wuyuan*5;
            for(int liangyuan=1;liangyuan<=moneyleft_forliangyuan/2;liangyuan++)
                   {
                     int moneyleft_foryiyuan=moneyleft_forliangyuan-liangyuan*2;
                      if(moneyleft_foryiyuan>=1)
                        approach++;
                   }
         }
      printf("%d\n",approach);
  }
return 0;
}

别忘点赞哦-.-

 

0.0分

7 人评分

  评论区

你为什么能这么强?
2018-10-12 22:41:56 | |
  • «
  • 1
  • »