21xrx.com
2024-12-22 15:28:30 Sunday
登录
文章检索 我的文章 写文章
C++求解平方和四位数问题
2023-07-13 05:55:38 深夜i     --     --
C++ 求解 平方和 四位数 问题

平方和四位数问题是指把一个四位数的每一位的数字平方起来,然后再将这些数字相加得到一个新的数字。然后重复这个过程,直到得到数字6174,这个过程的次数就是这个四位数的神奇数。例如,对于数字3219,它的平方和依次为14、17、50、25、29、85、89、145、42、20、4,经过10次运算后得到神奇数6174。

在C++中,可以使用循环语句和条件语句来解决这个问题。以下是一个示例代码:


#include <iostream>

using namespace std;

int main() {

  int num;

  cin >> num;

  int count = 0;

  while(num != 6174) {

    int a[4];

    a[3] = num % 10;

    a[2] = num / 10 % 10;

    a[1] = num / 100 % 10;

    a[0] = num / 1000 % 10;

    for(int i = 0; i < 4; i++) {

      for(int j = i + 1; j < 4; j++) {

        if(a[i] < a[j]) {

          int temp = a[i];

          a[i] = a[j];

          a[j] = temp;

        }

      }

    }

    int max = 1000 * a[0] + 100 * a[1] + 10 * a[2] + a[3];

    int min = 1000 * a[3] + 100 * a[2] + 10 * a[1] + a[0];

    num = max - min;

    count++;

  }

  cout << count << endl;

  return 0;

}

此代码首先输入一个四位数,然后使用循环语句和条件语句来计算它的平方和,直到得到神奇数6174为止。每进行一次运算,就将计数器加1,最终输出运算次数。

通过学习以上代码,C++初学者们可以更加深入地理解循环语句、条件语句和数组的使用方法,并且通过实践运用,解决实际问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复