文章目录

  • 题意
    • Input
    • Output
    • 输入样例
    • 输出样例
    • 提示
  • 分析
  • 总结
  • 代码

题意

东东对数字很敏感,他定义了一个数的数根,数根即把一个数的各个位上的数字加起来可以得到。如果得到的数是一位数,那么这个数就是数根。如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。

比如,对于 242424 来说,把 222 和 444 相加得到 666,由于 666 是一位数,因此 666 是 242424 的数根。再比如 393939,把 333 和 999 加起来得到 121212,由于 121212 不是一位数,因此还得把 111 和 222 加起来,最后得到 333,这是一个一位数,因此 333 是 393939 的数根。

Input

一个正整数(小于 10100010^{1000}101000)。

Output

一个数字,即输入数字的数根。

输入样例

24

输出样例

6

提示


分析

  • 题目分析

题目意思非常简单,最开始会想到依次叠加和判断输入数的每一位就行。

  1. 问题:

问题的关键就在于这种做法能否满足本题要求。

本题中有一个关键信息:一个正整数(小于10^1000)

最开始直接被忽略,因为在不谨慎的情况下会认为10的1000次方等于1000的10次方。但是10的1000次方实际上等于1后面加1000个0,1000的十次方只是1后面加30个0。

二者之间存在巨大差异,只要你尝试过你就会发现10的1000次方是普通计算器都无法算出答案的。因此在计算机中任何一种变量类型和容器都无法直接存储这个数。

  1. 解决办法:

在这种时候就需要转换思维,思考这道题解题的关键。

这道题的根本是将一个完整的数字分成独立的多个个位数来进行计算。该本质就决定了我们其实并不需要将一个数完整的读入,而是可以将它视作一个字符串,每次读入一个字符,也就是一个数字。对每次读入的数字进行累加和判断,最后就可以得出答案。


总结

  1. 这道题是本次T1T2模拟最难

    [week13] 2 - T1相关推荐

    1. python判断 t1 树是否有与 t2 树拓扑结构完全相同的子树

      python判断 t1 树是否有与 t2 树拓扑结构完全相同的子树 # 给定彼此独立的两棵二叉树,判断 t1 树是否有与 t2 树拓扑结构完全相同的子树. class Node():def __ini ...

    2. join控制线程的执行循序 T1 - T2 - T3

      /*** 控制线程的执行循序 T1 -> T2 -> T3* join实现*/ public static void join(){Thread t1 = new Thread(() -& ...

    3. 为什么yamlp中没有cplex_在《英雄联盟》中,为什么有些T1英雄并没有我们想象中那么强势?...

      相信玩<英雄联盟>的玩家或多或少都听过"OP.GG"这个数据库网站,里面收集了大量的<LOL>对战数据,主要数据来源是韩服铂金以上的对局.理论上,我们可以通 ...

    4. atmega8 例程:T1定时器 快速PWM

      /***************************************************************** * 函数库说明:ATMEGE8 T1定时器 快速PWM * 版本: ...

    5. 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?...

      Thread t1 = new Thread(new T1());  Thread t2 = new Thread(new T2());  Thread t3 = new Thread(new T3( ...

    6. SDH/E1/T1/E3/T3/STM/TDM相关名词介绍

      SDH/E1/T1/E3/T3/STM/TDM相关名词介绍 2009-08-13 21:21:32 标签:SDH E1 T1 T3 E3 [推送到技术圈]   SDH/E1/T1/E3/T3/STM/ ...

    7. FJ省队集训DAY3 T1

      思路:我们考虑如果取掉一个部分,那么能影响到最优解的只有离它最近的那两个部分. 因此我们考虑堆维护最小的部分,离散化离散掉区间,然后用线段树维护区间有没有雪,最后用平衡树在线段的左右端点上面维护最小的 ...

    8. 使用T2表中的值替换T1表的值

      描述:现在有两张表,T1由Key和Value两个字段,T2也有Key和Value两个字段 当T1中的Key在T2表中存在时,更新使用T2表中对用的Value 值替换T1中的VAlue update A ...

    9. python编程输入标准-Python练习题,,T1.编写程序,输入

      Python练习题,,T1.编写程序,输入 T1.编写程序,输入一个自然数字符串,然后输出各位数字之和. a=input("输入一串数字:") b=0 for i in a: b= ...

    10. 20181102 T1 相遇

      在一场奇怪的梦里,小 Y 来到了一个神奇的国度.这个国度可以用一根数 轴表示,小 Y 在 N 处,而小 Y 想吃的美食在 K 处. 小 Y 有两种方式移动,一种叫做步行,一种叫做瞬移.对于每次步行操作 ...

    最新文章

    1. 中文输入法切换ubuntu_切换到 Linux 工作,体验暴增 100 倍!
    2. java scala 混合编程_java与scala混合编程打包(maven构建)
    3. (4)nginx:日志以及定时切割日志小例子
    4. socket通信数据类型
    5. Java并发:隐藏线程死锁
    6. 计算机改计数器的方法,第五章定时器计数器(修改)-计算机原理及应用资源共享课.ppt...
    7. vue项目中vue-fullcalendar的使用(行程日历)
    8. Spring之后处理器
    9. scala学习笔记(四)样本类与模式匹配
    10. 下了高铁直接上地铁,多方便
    11. 【Windows10_1809 + Ubuntu_18.04】+【SSD + HDD】双硬盘双系统装机心得分享
    12. PlutoSDR学习指南【0】PlutoSDR介绍
    13. 为什么创业?创业能给你带来什么?
    14. 推荐用户体验设计师必读的5本用户体验书籍
    15. 基于KG嵌入和卷积-LSTM网络的药物-药物相互作用预测——方法细述
    16. dell刷sn_戴尔笔记本怎么查询sn码
    17. http://jingyan.baidu.com/album/03b2f78c4cc0ad5ea337ae7d.html
    18. 【网络间谍篇】剖析美国“棱镜门”事件
    19. 每日三个笑话-20151007
    20. linux配置can驱动

    热门文章

    1. insert overwrite出现Table insclause-0 has 9 columns, but query has 10 columns.
    2. 太可怕了!给一个词就能模仿你的笔迹,Facebook这款神器不敢开源代码
    3. Ubuntu下解压rar的分卷文件 faster_rcnn_models.part1.rar
    4. 以编程会安全,以安全辅未来——2017看雪安全开发者峰会 强势来袭!
    5. 编译原理 实验三 逆波兰式的生成及计算程序
    6. iptables 删除规则
    7. python erp源码_分享|值得考虑的 9 个开源 ERP 系统
    8. PHP 实现爱查快递接口
    9. Selenium 打开新标签页获取元素
    10. jsp实现页面自动跳转