c++递归检查number是否包含数字

C++ recursion to check if number contains a digit

本文关键字:包含 数字 是否 number 递归 检查 c++      更新时间:2023-10-16

我有一个递归函数,它检查数字N是否包含数字K并输出"是"或"否"。此版本显示N=5565和K=5的"yes,yes,no,yes"。

int digit(int n, int k)
{
    if (n < 0)
        n = -1*n;
    if (n/10 > 0) {
        digit(n/10, k);
    }
    if(n % 10 == k) cout<<"yes"<<endl;
    else cout<<"no"<<endl;
}
int main()
{
    digit(5565, 5);
    return 0;
}

我的问题是我如何才能只显示一个"是"或"否"

您的条件不对

  void digit(int n, int k)
  {
    if (n < 0)
      n = -1 * n;
    if (n % 10 == k)
    {
      cout << "Yesn";
      return;
    }
    else if (n / 10 > 0)
       digit(n / 10, k);
    else
      cout << "no" << endl;
 }