C#算法中怎么实现各位相加
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本文小编为大家详细介绍"C#算法中怎么实现各位相加",内容详细,步骤清晰,细节处理妥当,希望这篇"C#算法中怎么实现各位相加"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。各
千家信息网最后更新 2026年11月03日C#算法中怎么实现各位相加
本文小编为大家详细介绍"C#算法中怎么实现各位相加",内容详细,步骤清晰,细节处理妥当,希望这篇"C#算法中怎么实现各位相加"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
各位相加
给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。
示例:
输入: 38输出: 2 解释: 各位相加的过程为:3 + 8 = 11, 1 + 1 = 2。 由于 2 是一位数,所以返回 2。
进阶:
你可以不使用循环或者递归,且在 O(1) 时间复杂度内解决这个问题吗?
代码模板
public class Solution { public int AddDigits(int num) { }}测试数据
输入 1输出 1输入 10输出 1输入 38输出 2输入 199输出 1输入 8888输出 5
笔者的方法:
使用了while循环,除一次计算一次,原始数和各位数和同时变化。时间在70ms内。
public static int Csum(int num) { if (num < 10) //小于10的数直接返回 return num; int shi = 0; //记录个位数相加 while (num > 0) { if (num >= 10) { shi += num % 10; num = num / 10; } else if (num < 10) { shi += num; num = num / 10; } if (shi >= 10) shi = shi % 10 + shi / 10; //超过10的个位数重新变化 } return shi; }方法二 弃九验算法
同样在 60-70ms
public class Solution { public int AddDigits(int num) { if(num==0) return 0; if(num%9==0) return 9; return num%9; }}读到这里,这篇"C#算法中怎么实现各位相加"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
输入
输出
算法
C#
文章
个位
位数
内容
方法
时间
变化
循环
原始
复杂
妥当
个位数
代码
复杂度
思路
数字
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广东猪兼强互联网科技有限公司
互联网是第几次科技革命的成果
上海互联网科技有限公司
融势互联网科技
碳银互联网科技有限公司
一五八零互联网科技
科技与互联网的利与弊
以后互联网后是啥科技
互联网金融中的现代科技
厦门千工互联网科技有限公司
苏州五指互联网络科技有限
互联网科技和信息
佛山市翊博互联网络科技有限公司
互联网在线教育科技创业
互联网科技大赛获奖感言
互联网方面的科技前沿
中国新注册互联网科技
互联网金融金融科技
数字科技和互联网金融哪个好
互联网企业和网络科技有限公司
上海睿民互联网科技有限公司
科技金融是不是互联网金融
华宇互联网科技
互联网与新科技
唐信互联网科技 大连
深圳市运趣互联网科技有限公司
须眉科技是互联网公司吗
杭州融税互联网科技有限公司
青岛互联网科技园
株洲百竞科技的互联网营销顾问