三位正整数的百位、十位、个位数拆解算法

给出一个不多于三位位的正整数 n,要求输出 n 的百位数、十位数和个位数。

算法 1

  1. 用 % 10 的方法求出个位数,再用 / 10 % 10 的方法求出十位数,最后用 / 100 的方法求出百位数。

时间复杂度:O(1)

空间复杂度:O(1)

算法 2

  1. 将数字 n 转化为字符串 s。

  2. 取出 s 的最后三位,即百位、十位和个位数。

时间复杂度:O(1)

空间复杂度:O(1)

算法 3

  1. 用 log10 的方法求出 n 的位数 k。

  2. 用 pow(10, k-1) 的方法求出 n 的最高位数字。

  3. 用 % 10 的方法求出 n 的个位数字。

  4. 用 n / pow(10, i) % 10 的方法求出 n 的第 i 位数字,其中 i 从 2 到 k-1。

时间复杂度:O(log n)

空间复杂度:O(1)

三位正整数的百位、十位、个位数拆解算法

原文地址: https://www.cveoy.top/t/topic/l0zr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录