三位正整数的百位、十位、个位数拆解算法
三位正整数的百位、十位、个位数拆解算法
给出一个不多于三位位的正整数 n,要求输出 n 的百位数、十位数和个位数。
算法 1
- 用 % 10 的方法求出个位数,再用 / 10 % 10 的方法求出十位数,最后用 / 100 的方法求出百位数。
时间复杂度:O(1)
空间复杂度:O(1)
算法 2
-
将数字 n 转化为字符串 s。
-
取出 s 的最后三位,即百位、十位和个位数。
时间复杂度:O(1)
空间复杂度:O(1)
算法 3
-
用 log10 的方法求出 n 的位数 k。
-
用 pow(10, k-1) 的方法求出 n 的最高位数字。
-
用 % 10 的方法求出 n 的个位数字。
-
用 n / pow(10, i) % 10 的方法求出 n 的第 i 位数字,其中 i 从 2 到 k-1。
时间复杂度:O(log n)
空间复杂度:O(1)
原文地址: https://www.cveoy.top/t/topic/l0zr 著作权归作者所有。请勿转载和采集!