写在前面

  • 实现思路

    • 进制常量定义const int
    • scanf读取方式
    • 统一进制计算,结果进制转换
  • 题目较简单,10分钟a题
    • 无废话多说
    • 参考优化后代码

测试用例

input:
10.16.27 14.1.28
output:
3.2.1input:
14.1.28 10.16.27
output:
-3.2.1

ac代码

  • 统一进制后计算
#include <iostream>
using namespace std;
int main()
{int g, s, k, k2, g2, s2, r = 17*29;scanf("%d.%d.%d %d.%d.%d", &g,&s,&k, &g2,&s2,&k2);long long p = g*r + s*29 + k,a = g2*r + s2*29 + k2, pa = abs(p-a);int rg = pa/r,rs = (pa%r)/29,rk = pa%29;if(a>=p) printf("%d.%d.%d", rg, rs, rk);else printf("-%d.%d.%d", rg, rs, rk);return 0;
}
  • 优化后代码(算法笔记)

    • 统一进制后计算
#include <iostream>
using namespace std;
const int G = 17 * 29;
const int S = 29;
int main()
{int g, s, k, k2, g2, s2;scanf("%d.%d.%d %d.%d.%d", &g,&s,&k, &g2,&s2,&k2);long long p = g*G + s*S + k,a = g2*G + s2*S + k2, pa = abs(p-a);int rg = pa/G,rs = (pa%G)/S,rk = pa%S;if(a>=p) printf("%d.%d.%d", rg, rs, rk);else printf("-%d.%d.%d", rg, rs, rk);return 0;
}

学习代码

  • 1037. 在霍格沃茨找零钱(20)-PAT乙级真题

    • 计算中引入进制
#include <iostream>
using namespace std;
int main() {int a, b ,c, m, n, t, x, y, z;scanf("%d.%d.%d %d.%d.%d",&a, &b, &c, &m, &n, &t);if (a > m || (a == m && b > n) || (a == m && b == n && c > t)) {swap(a, m); swap(b, n); swap(c, t);printf("-");}z = t < c ? t - c + 29 : t - c;n = t < c ? n - 1 : n;y = n < b ? n - b + 17 : n - b;x = n < b ? m - a - 1 : m - a;printf("%d.%d.%d", x, y, z);return 0;
}

1037 在霍格沃茨找零钱(附详细注释,逻辑分析)相关推荐

  1. PAT 1037 在霍格沃茨找零钱(20)(代码+思路)

    1037 在霍格沃茨找零钱(20)(20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon) ...

  2. C++学习之路 | PTA乙级—— 1037 在霍格沃茨找零钱 (20 分)(精简)

    1037 在霍格沃茨找零钱 (20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十 ...

  3. PAT乙级(1037 在霍格沃茨找零钱 )

    PAT乙级    1037 在霍格沃茨找零钱   解题思路乙级代码 思路:首先判断需要付的费用和实际付的费用大小关系 如果应付大于实付,则将其交换,并且先输出'-' 这样即可避免其他方法判断正负问题的 ...

  4. PAT 1037. 在霍格沃茨找零钱

    PAT 1037. 在霍格沃茨找零钱 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个 ...

  5. 1037 在霍格沃茨找零钱

    1037 在霍格沃茨找零钱 题目: 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十九个纳 ...

  6. PAT(B) 1037 在霍格沃茨找零钱(Java)

    题目链接:1037 在霍格沃茨找零钱 (20 point(s)) 题目描述 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle) ...

  7. PAT (Basic Level) Practice (中文)1037 在霍格沃茨找零钱 (20 分)

    1037 在霍格沃茨找零钱 (20 分) 如果你是哈利·波特迷,你会知道魔法世界有它自己的货币系统 -- 就如海格告诉哈利的:"十七个银西可(Sickle)兑一个加隆(Galleon),二十 ...

  8. 1037. 在霍格沃茨找零钱(20) python篇

    1037. 在霍格沃茨找零钱(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 如果你是哈利·波特迷,你会知 ...

  9. PAT-B 1037. 在霍格沃茨找零钱(20)(20 分)自定义进制转换

    https://pintia.cn/problem-sets/994805260223102976/problems/994805284923359232 1037 在霍格沃茨找零钱(20)(20 分 ...

最新文章

  1. Java项目:化妆品商城系统(java+Springboot+ssm+mysql+jsp+maven)
  2. 阿里淘系程序员“开源”内部年度技术总结,还把P9大佬喊出来教你“打怪升级”...
  3. Servlet--01--概念
  4. 我的网页设计(网页页面制作二)
  5. [转载] 细思极恐的星座分析(下)- 外太空?内子宫?人类的天赋从何而来?
  6. ABAP 读取FTP文件
  7. SQL语句新手练习(一)
  8. oracle中sysdate函数 ro,ORACLE常用函數
  9. 执行sql报错:Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in
  10. NBOOT分析-NBOOT.c(2)
  11. java CRC32
  12. Java 抽奖活动循环编程练习
  13. 2018 Arab Collegiate Programming Contest (ACPC 2018) H - Hawawshi Decryption 数学 + BSGS
  14. 阿里云盘终于可以分享文文件了!!!
  15. 计算机用户文件内存,win7用户文件夹太大占用大量内存空间怎么清除?
  16. Dell(戴尔)电脑恢复BIOS出厂设置的方法
  17. 下载工具:aria2c
  18. Java中英文字母的大小写转换ideaeclipse大小写快捷键
  19. 亲爱的老狼-清除浮动float的5种方法
  20. 提交恶意代码,这所大学被“封杀”

热门文章

  1. 貌似潘安,情如宋玉,才胜子建 是什么意思?
  2. .NET5.0和Quartz.NET开发的极简任务调度平台
  3. 判断一段时间是否包含令一段时间
  4. 需求条目化与自动估算强强联合 助力软件估算自动化
  5. 何时可以用 + 拼接字符串,何时不可以用用 + 拼接字符串?
  6. 综合网上各种虚拟机网络解决方式的合集(或足以解决碰到的任何虚拟机网络问题)
  7. 2016-8-26并行惹的祸
  8. 语音合成 - TTS gTTS
  9. DirectDraw 与 DirectInput 的游戏编程体验
  10. 【调剂】河北省百人计划专家/优青 河北工业大学许铮铧教授招收22调剂(智能医疗/机器学习/强化学习)...