题解 | #不找零钱#

不找零钱

https://ac.nowcoder.com/acm/problem/22214

不限数量,面值a元和b元,问能否凑出总价c元

a, b, c 都是正整数,且 a, b <= 100, c <= 10000

具体看这里:

a,b,c = map(int,input().split())
count = 0
for i in range(c+1): 
    if (c-i*a) % b == 0:
        print("Yes")
        count = 1
        break         
if count == 0:
    print("No")
#include <stdio.h>
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    for(int i=0;i<=c;i++){
        for(int j=0;j<=c;j++){
            if(i*a+j*b==c){
                printf("Yes");
                return 0;
            }       
        }
    }
printf("No");
return 0;
}

【Python】 输入:input、map

a,b,c = map(int,input().split()) # input()配合split()函数使用,得到输入的多个值,map函数将这多个值批量转换成int整数型(只能进行多个值的转换)

for i in range(c+1): # i 取从 0 到 c 的整数

if (c-i*a) % b == 0: # 表面是判定余数是否为0,实际含义还是判定 i*a+j*b == c
但这么写,少设一个未知数。节省,需要大力发扬的传统美德!

count = 0count = 1 # 可以看作人为打的一个小标记,成了是1,没打标记仍是0就没成

printf("No"); # count 仍为0,输出No。但我开始提交把No大小写搞错写成NO了,影响的。

 

【C】
for(int i=0;i<=c;i++){ for(int j=0;j<=c;j++){
这里的i<=cj<=c,为什么是c?有人傻傻按题目c <= 10000写 i<= 10000
a,b都是非负整数,总和为c,故最小为0,最大不会超过c
你想啊,超过c,还上哪取到整数去?【i*a+j*b == c】
对了,应该不会有人 ==(判定相等)和 =(赋值)分不清吧?不会吧不会吧......

 

哎,发现C语言的占用内存好少,突然间就好感噌噌了...... >v< ......

alt

 

[ 后记 ] ~

写这个题目时,首先想到的是双重循环。(C语言就是那么个写的,判定 i*a+j*b == c )

学杂了,直接在Python的for循环里写 for(int i=0;i<=c;i++) 完全没觉得不对......

实际上Python的for循环 —— for i in range ():

range()是一个函数,for i in range (): 就是给 i 赋值。 for i in range (1,3): 把1, 2依次赋值给 i

range () 函数的使用
range(start, stop, step): 分别是起始、终止和步长。默认步长为1
range(1,3,2): 从1到3,不包含3,每次增加2, 1+2=3, 输出只有1
range(1,3): 从1到3,不包含3,即1,2
range(3): 从0到3,不包含3,即0,1,2

因为这个“不包含3”,同理,本题中用Python写要注意是for i in range(c+1):
如果写c而不是c+1,取到的就是小于而不是小于等于了。[ 写c取0到c-1取不到c ]
在此感叹一下,刷算法题还是得用C/C++,更顺应人类的思路,灵感得以直线汩汩流淌。
虽然我平日里喜欢写Python,但刷算法时,正常思路有时用Python写,太绕乎了。
我还是认为Python更适合写讨巧的东西。

补充:本篇涉及到的一些Markdown语法 ——

  1. 换行:每行末尾打两个空格,按一下回车(吐槽:这行为乍看好玄学但真的可)
  2. 中间空一行:&nbsp; 但末尾也要 - 打两个空格,按一下回车(参考上面绿***域)
  3. 显示 &nbsp; 的方法:在&nbsp; 前加上 \ 。对了," ; " 是英文符号,不是中文别搞错了
  4. 红色字体 <font color='red'> text </font> 或 <font color=FF0000> text </font>

参考链接: Markdown 换行语法 · Markdown 官方教程

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
正在热议
# 牛客帮帮团来啦!有问必答 #
1151740次浏览 17149人参与
# 通信和硬件还有转码的必要吗 #
11204次浏览 101人参与
# 不去互联网可以去金融科技 #
20406次浏览 256人参与
# 和牛牛一起刷题打卡 #
18989次浏览 1635人参与
# 实习与准备秋招该如何平衡 #
203397次浏览 3627人参与
# 大厂无回复,继续等待还是奔赴小厂 #
4972次浏览 30人参与
# OPPO开奖 #
19203次浏览 267人参与
# 通信硬件薪资爆料 #
265935次浏览 2484人参与
# 国企是理工四大天坑的最好选择吗 #
2227次浏览 34人参与
# 互联网公司评价 #
97697次浏览 1280人参与
# 简历无回复,你会继续海投还是优化再投? #
25037次浏览 354人参与
# 0offer是寒冬太冷还是我太菜 #
454878次浏览 5124人参与
# 国企和大厂硬件兄弟怎么选? #
53906次浏览 1012人参与
# 参加过提前批的机械人,你们还参加秋招么 #
14645次浏览 349人参与
# 硬件人的简历怎么写 #
82287次浏览 852人参与
# 面试被问第一学历差时该怎么回答 #
19398次浏览 213人参与
# 你见过最离谱的招聘要求是什么? #
28108次浏览 248人参与
# 学历对求职的影响 #
161242次浏览 1804人参与
# 你收到了团子的OC了吗 #
538747次浏览 6387人参与
# 你已经投递多少份简历了 #
344242次浏览 4963人参与
# 实习生应该准时下班吗 #
96981次浏览 722人参与
# 听劝,我这个简历该怎么改? #
63525次浏览 622人参与
牛客网
牛客企业服务