21xrx.com
2024-09-19 09:55:52 Thursday
登录
文章检索 我的文章 写文章
使用C++编写自守数判断程序
2023-07-09 07:39:49 深夜i     --     --
C++ 自守数 编写 程序 判断

自守数是指一个数的平方的尾数等于它本身的数字,例如5是一个自守数,因为5的平方是25,尾数也是5。现在我们可以使用C++编写一个自守数判断程序,简单易懂,方便实用。

首先,我们需要明确的是,自守数的平方的尾数就是该数字最后几位。因此,我们只需要取该数的末尾几位,计算它的平方后,再取其末尾几位,与该数末尾几位作比较即可。

下面是一个简单的C++程序,来判断一个数字是否是自守数:


#include<iostream>

#include<cstring>

#include<math.h>

using namespace std;

// 计算x的末n位

int endN(int x, int n)

{

  return x % (int)pow(10, n);

}

// 判断n是否为自守数

bool isSelf(int n)

{

  int square = n * n; // 平方

  int len = to_string(square).length(); // 平方的位数

  int subSquare = endN(square, to_string(n).length()); // 平方的末n位

  return subSquare == n;

}

int main()

{

  int n;

  cout << "请输入一个数字:" << endl;

  cin >> n;

  if (isSelf(n))

    cout << n << "是自守数\n";

  else

    cout << n << "不是自守数\n";

  return 0;

}

在这个程序中,我们定义了两个函数:`endN`函数用于计算一个数的末n位;`isSelf`函数用于判断一个数是否为自守数。在`isSelf`函数中,我们通过调用`endN`函数来获取平方的末n位,再与原数的末n位进行比较,最终判断该数是否为自守数。

程序结束后,我们通过输出信息向用户提供程序的计算结果。如果该数字是自守数,则输出该数字是自守数;如果该数字不是自守数,则输出该数字不是自守数。

总的来说,这个C++程序简单易懂,不仅可以运行快速,而且非常方便实用。如果你对自守数感兴趣,不妨尝试使用这个程序学习一下如何编写自守数判断程序吧!

  
  

评论区

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