21xrx.com
2024-12-22 21:15:52 Sunday
登录
文章检索 我的文章 写文章
C++语言程序实现同构数
2023-07-13 20:55:11 深夜i     --     --
C++ 同构数 程序实现

同构数,指的是两个数的各个位上的数字顺序相同,但数值不一定相同的数。比如,1234和4321就是一对同构数。在C++语言中,我们可以通过编写程序来实现同构数的输出。

首先,我们需要一个函数来检查两个数是否为同构数。这个函数的实现比较简单,我们可以先将整数转化为字符串,然后比较字符串的字符顺序即可。以下是同构数检查函数的代码:

bool isIsomorphic(int num1, int num2) {

  std::string str1 = std::to_string(num1);

  std::string str2 = std::to_string(num2);

  std::sort(str1.begin(), str1.end());

  std::sort(str2.begin(), str2.end());

  return str1 == str2;

}

接下来,我们需要主函数来调用isIsomorphic()函数,并输出同构数。主函数的代码如下:

int main() {

  std::vector nums = 8765;

  int count = 0;

  for (int i = 0; i < nums.size() - 1; i++) {

    for (int j = i + 1; j < nums.size(); j++) {

      if (isIsomorphic(nums[i], nums[j])) {

        std::cout << nums[i] << " and " << nums[j] << " are isomorphic numbers." << std::endl;

        count++;

      }

    }

  }

  std::cout << "There are " << count << " pairs of isomorphic numbers in the vector." << std::endl;

  return 0;

}

在主函数中,我们定义了一个整数向量nums,并初始化它。然后我们通过两个嵌套的for循环来遍历向量中的所有数对,并调用isIsomorphic()函数来进行同构数的检查。如果两个数是同构数,我们就输出它们。最后,我们输出总共有多少对同构数。

以上就是C++语言程序实现同构数的方法。对于其他语言,也可以按照类似的思路编写程序来实现同构数的检查和输出。

  
  

评论区

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