C ++程序查找给定数字中的最小数字

给定一个非负数,任务是找到其最小数字。

例如

输入:  N = 154870

输出:  0

说明: 在给定的数字“ 154870”中,最小数字为“ 0”。

解决这个问题的方法

解决此问题的最简单方法是使用余数定理提取给定数字中的最后一位。在遍历数字时,我们将检查提取的数字是否小于最后一个数字,然后返回输出。

  • 以数字作为输入。

  • 整数函数smallest_digit(int n)以“ n”作为输入,并返回给定数字中的最小数字。

  • 现在将min初始化为给定数字的最后一位数字。

  • 遍历该数字,并检查提取的数字是否小于最小数字。如果为true,则更新最小数目并返回输出。

  • 将最后一位数字除以n / 10,然后检查是否还有另一个数字小于当前数字。

  • 返回输出。

示例

#include <iostream>
using namespace std;
int smallest_digit(int n) {
   int min = n % 10; //假设最后一位数字最小
   n /= 10; //从倒数第二个数字开始
   while (n != 0) {
      if (min > n % 10)
         min = n % 10;
      n /= 10;
   }
   return min;
}
int main() {
   int n = 154870;
   cout << smallest_digit(n);
   return 0;
}

运行上面的代码将生成如下输出:

输出结果

0

说明:在给定的数字“ 154870”中,最小数字为“ 0”。