PAT甲级1058(进制转换的“/” ,“%”干货!)
题目
1058 A+B in Hogwarts(20 分)
If you are a fan of Harry Potter, you would know the world of magic has its own currency system – as Hagrid explained it to Harry, “Seventeen silver Sickles to a Galleon and twenty-nine Knuts to a Sickle, it’s easy enough.” Your job is to write a program to compute A+B where A and B are given in the standard form of Galleon.Sickle.Knut (Galleon is an integer in [0,10^7], Sickle is an integer in [0, 17), and Knut is an integer in [0, 29)).
Input Specification:
Each input file contains one test case which occupies a line with A and B in the standard form, separated by one space.
Output Specification:
For each test case you should output the sum of A and B in one line, with the same format as the input.
Sample Input:
3.2.1 10.16.27
Sample Output:
14.1.28
题解
#include<iostream>
int main()
{long a[3]={},b[3]={},c[3]={};scanf("%ld.%ld.%ld %ld.%ld.%ld",&a[0],&b[0],&c[0],&a[1],&b[1],&c[1]);if(c[0]+c[1]>=29){c[2]=(c[0]+c[1])%29;b[2]++;}else{c[2]=c[0]+c[1];}if(b[0]+b[1]+b[2]>=17){b[2]+=(b[0]+b[1])-17;a[2]++;}else{b[2]+=b[0]+b[1];}a[2]+=a[0]+a[1];printf("%ld.%ld.%ld\n",a[2],b[2],c[2]);return 0;
}
这算是一种最朴素的解法了。记得数组要初始化。还有,防止大数溢出用long,甚至long long。
#include <iostream>
using namespace std;
int main() {long long a, b, c, d, e, f;scanf("%lld.%lld.%lld %lld.%lld.%lld", &a, &b, &c, &d, &e, &f);long long num = c + b * 29 + a * 29 * 17 + f + e * 29 + d * 29 * 17;long long g = num / (17 * 29);num = num % (17 * 29);printf("%lld.%lld.%lld", g, num / 29, num % 29);return 0;
}
柳神偏爱将总的数值算出来,然后用/两个进制的乘积算出从右往左第三位的值,(同理/一个进制值=从右往左第二位的值),用%(两个进制值相乘)算出后两位的数值,再得最后一位的值。
总结就是“/”1位进制值得倒数第二位,“%”1位进制值得倒数一位
PAT甲级1058(进制转换的“/” ,“%”干货!)相关推荐
- 【PAT甲级】字符串处理及进制转换专题
目录 字符串处理 PAT甲级 1001 A+B Format (20 分) PAT甲级1005 Spell It Right (20 分) PAT甲级1035 Password (20 分) PAT甲 ...
- PAT甲级1058 A+B in Hogwarts :[C++题解]字符串,进制,简单
文章目录 题目分析 题目链接 题目分析 不同进制进位. ac代码 #include<bits/stdc++.h> using namespace std;int main(){int a, ...
- 【PAT甲级 进制转换】1019 General Palindromic Number (20 分) Java版 7/7通过
题目 这道题可以说是非常友善了,说白了是个水题.题目没什么坑,一次通过,主要思想就是: 输入两个数:num和base 将num按照base进制转换,得到arr 判断arr是否是一个回文数,并且输出这个 ...
- 【PAT甲级 素数判断 进制转换】1015 Reversible Primes (20 分) Java版 4/4通过
题目 思路: 为了提高效率,判断素数采用打表的方式 先计算100000以内的所有素数,然后如果要判断一个数是否为素数的话,直接与表中比对 题目中的意思是: 首先,判断一个数N1是否为素数 如果N1是素 ...
- PAT (Advanced Level) 1015 Reversible Primes(进制转换)
题目链接:点击查看 题目大意:现在给出定义"翻转素数":在10进制下是素数,并且在D进制下翻转后回到十进制,还是素数,现在给出一个十进制的数num和进制radix,判断是否属于翻转 ...
- 计算机基础(进制转换,计算机的认识,全是干货)
1,计算机单位 ①8bit(位) ----1024Byte(字节) ----1024KB(千字节) ----1024MB(兆) ----1024GB ----1024TB ②PB EB ...
- 【解析】1057 数零壹 (20分)(进制转换)
立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 给定一串长度不超过 10^5的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分 ...
- 10进制转换16进制补足0_信息技术教师资格必考内容——进制换算(一)
前两天给大家整理了信息技术教师资格笔试科目三的必考内容,戳蓝字回顾弄懂这些,信息技术教师资格笔试提高30分!信息技术教师资格笔试--这道20分的题居然这么简单!有小伙伴问还有哪些必考内容进制换算也是必 ...
- 15从零开始学Java之详解计算机中的进制转换
作者:孙玉昌,昵称[一一哥],另外[壹壹哥]也是我哦 CSDN博客专家.万粉博主.阿里云专家博主.掘金优质作者 配套项目资料 https://github.com/SunLtd/LearnJava h ...
- (二) 数据存储_进制转换_编码_字节
文章目录 数据如何存储到计算机? 寄存器 高速缓冲存储器(Cache) 内存 硬盘 进制转换 [1] 十进制->二进制 [2] 二进制->十进制 [3] 十进制->八进制 [4] 八 ...
最新文章
- makefile变量赋值
- Matlab中存储及读取数据
- 用户强烈反对产品改动,如何应对?
- C# Newtonsoft.Json 应用
- 20应用统计考研复试要点(part32)--简答题
- 【最全最详细】使用publiccms实现动态可维护的首页轮播
- LeetCode 1899. 合并若干三元组以形成目标三元组
- Domino服务器以及Notes客户端重新配置的方法
- terminated 线程_一个 Java 线程生命周期,我竟然可以扯半小时
- innobackupex工作原理
- 计算机综合布线基本知识,综合布线的基本常识
- 关于零信任的 “灵魂” 12问,企业未来如何适配“零信任”?
- 路由器更换wan口及vlan配置
- 新浪微博开放平台开发总结
- windows 增加开机启动服务器,Windows Server2012删除或添加开机启动项的方法
- {转载}circos绘图(3)
- 树莓派开机自启动opencv程序脚本及报错分析及拓展
- 用PS给证件照排版教程
- 红木家具之缅甸花梨家具
- 如何查看Maven项目中的jar包依赖树情况?
热门文章
- awss3 android,aws s3 命令
- 荣耀v40还会适配鸿蒙,荣耀年度旗舰V40再确认!将搭载“双芯片”:还能升级鸿蒙系统...
- orange's系统可以装mysql 吗?_bochs 2.4.2 ubuntu 安装运行问题《orange#39;s 一个操作系统的...
- 批量获取ip运营商_通信公司员工收钱开通IP多拨被用于诈骗,6人获刑
- oracle什么是定长,数据库中定长类型(char)和变长类型(varchar2)有什么区别?
- Oracle 存储过程的创建,及触发器调用存储过程
- OpenCV-自适应阈值函数cv::adaptiveThreshold
- html5鼠标点击弹出层,jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
- php addall,thinkphp addall() 方法设置
- activiti 条件表达式json报错_json模块和pickle模块