博客
关于我
【牛客】KY72 Digital Roots(数根)
阅读量:205 次
发布时间:2019-02-28

本文共 625 字,大约阅读时间需要 2 分钟。

数字根的计算方法可以通过数根公式直接求解,而无需逐位相加。数根公式为:当n=0时,数字根为0;否则,数字根等于(n-1)%9 +1。

数字根公式

数字根可以通过以下公式直接计算:[ \text{数字根} = \begin{cases}0 & \text{如果 } n = 0 \(n-1) % 9 + 1 & \text{其他情况}\end{cases} ]

代码实现

int digitSum(int n) {    if (n == 0) {        return 0;    }    return (n - 1) % 9 + 1;}

主函数

#include 
int digitSum(int n) { if (n == 0) { return 0; } return (n - 1) % 9 + 1;}int main() { int number; while (scanf("%d", &number) != EOF) { printf("数字根为:%d\n", digitSum(number)); } return 0;}

优化说明

  • 简洁高效:通过数根公式直接计算,避免了循环或递归,代码简短且运行效率高。
  • 避免重复计算:每次读取输入后立即计算,减少了多次计算的开销。
  • 易于维护:代码结构清晰,单一责任原则明确,每个函数都有明确的功能。
  • 转载地址:http://xmoi.baihongyu.com/

    你可能感兴趣的文章
    onlyoffice新版5.1.2版解决中文汉字输入重复等问题
    查看>>
    oobbs开发手记
    查看>>
    OPEN CASCADE Curve Continuity
    查看>>
    Open Graph Protocol(开放内容协议)
    查看>>
    Open vSwitch实验常用命令
    查看>>
    Open WebUI 忘了登入密码怎么办?
    查看>>
    open-vm-tools-dkms : 依赖: open-vm-tools (>= 2:9.4.0-1280544-5ubuntu3) 但是它将不会被安装
    查看>>
    open3d-Dll缺失,未找到指定模块解决
    查看>>
    Openbox-桌面图标设置
    查看>>
    opencart出现no such file or dictionary
    查看>>
    opencv Mat push_back
    查看>>
    opencv SVM分类Demo
    查看>>
    opencv videocapture读取视频cap.isOpened 输出总是false
    查看>>
    opencv waitKey() 函数理解及应用
    查看>>
    OpenCV 中的图像转换
    查看>>
    OpenCV 在 Linux 上的 python 与 anaconda 无法正常工作.收到未实现 cv2.imshow() 的错误
    查看>>
    Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)上
    查看>>
    opencv 模板匹配, 已解决模板过大程序不工作的bug
    查看>>
    OpenCV 错误:(-215)size.width>0 &&函数imshow中的size.height>0
    查看>>
    opencv&Python——多种边缘检测
    查看>>