当前位置: 首页 > news >正文

取某个数字的各个位数字

目录

  • 输出一个十进制位的各个数字
  • 变种问题:进制不统一
  • 变种问题:取一个数任意连续几位

输出一个十进制位的各个数字

int a = 123;
printf("%d %d %d",a/100,a/10%10,a%10);

拓展到更一般的情况,一个十进制数字的每一位应该是
$$
\frac a{10^n} %10 ,除以当前位的权重
$$

如果是K进制,则应该是:
$$
\frac a{K^n} %K ,除以当前位的权重
$$

变种问题:进制不统一

1058.A+B in Hogwarts

题目意思大致为,有一种货币,29个Knut等于1个Sickle,1个Sickle等于17个Galleon,如何将Kunt向上转化为其他单位

int a = 123;
printf("%d %d %d",a/(29*17),a/17%29,a/29);

该三位数的权重分别是**29*17,29,1**,所以:

printf("%d %d %d",a/(29*17),a/29%17,a%29);

第一位不用再%29因为其上再没有别的单位

变种问题:取一个数任意连续几位

取12345678中的12,345,678

思路大致是这样的:可将原数字每三位划分,(12)(345)(678),每个括号内等同于一位,该数的进制即为1000,根据前面的原理,可以写出:

printf("%d %d %d",a/1000000,a/1000%1000,a%1000);

因此,例如下面的问题,就有了更简单的解
1001.A+B Format

#include <cstdio>
#include <cstring>
int main(){
    int a,b;
    scanf("%d %d",&a,&b);
    int c = a + b;
    if(c < 0){
        printf("-");
        c *= -1;
    }
    if(c >= 1000000){
        printf("%d,%03d,%03d",c/1000000,c/1000%1000,c%1000);
    }else if(c >= 1000){
        printf("%d,%03d",c/1000,c % 1000);
    }else{
        printf("%d",c);
    }
}

转载于:https://www.cnblogs.com/amojury/p/9001230.html

相关文章:

  • mybatis源码解读(二)——构建Configuration对象
  • 创业元老崔姗姗回归背后,百度变革进入深水区
  • jdbc连接Mysql数据库,增删改查
  • 《图解TCP/IP》笔记
  • Power BI连接至Mogo Altas Connector For BI
  • 大数据-10-Spark入门之支持向量机SVM分类器
  • 短视频一对一社交程序源码----布谷鸟直播勇敢的短视频突围者
  • Asp.net core 学习笔记 (操作 url and query params)
  • 曼哈特公司为澳大利亚著名药店零售集团提供全渠道解决方案
  • DotNet菜鸟入门之无限极分类(一)设计篇
  • Python 异常处理
  • 解决Geoserver请求跨域的几种思路,第二种思路用过
  • CentOS的rpm常用命令(转)
  • 怎样将apache和nginx的源码包转换为rpm包?
  • 03 逻辑与结构
  • 2019年如何成为全栈工程师?
  • 4. 路由到控制器 - Laravel从零开始教程
  • android图片蒙层
  • es6--symbol
  • express如何解决request entity too large问题
  • Linux Process Manage
  • Linux链接文件
  • Linux中的硬链接与软链接
  • python docx文档转html页面
  • 仿天猫超市收藏抛物线动画工具库
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 前端js -- this指向总结。
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 实战|智能家居行业移动应用性能分析
  • 事件委托的小应用
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 一道闭包题引发的思考
  • 再次简单明了总结flex布局,一看就懂...
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • (4)Elastix图像配准:3D图像
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (算法)Travel Information Center
  • (转) 深度模型优化性能 调参
  • (转)Unity3DUnity3D在android下调试
  • (转)大道至简,职场上做人做事做管理
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • [2023年]-hadoop面试真题(一)
  • [BZOJ 3282] Tree 【LCT】
  • [CareerCup] 17.8 Contiguous Sequence with Largest Sum 连续子序列之和最大
  • [ccc3.0][数字钥匙] UWB配置和使用(二)
  • [FFmpeg学习]从视频中获取图片
  • [Flutter]设置应用包名、名称、版本号、最低支持版本、Icon、启动页以及环境判断、平台判断和打包
  • [JavaScript]_[初级]_[关于forof或者for...of循环语句的用法]