21xrx.com
2024-11-05 18:58:25 Tuesday
登录
文章检索 我的文章 写文章
C++编程实现对称三位数素数——爱码网
2023-07-14 02:38:07 深夜i     --     --
C++ 对称三位数 素数 编程 爱码网

对称三位数素数是指一个三位数,它从左到右和从右到左看是一样的,同时它也是一个素数。这样的数字非常有趣,因为它们有一种对称美,同时也是一种数学的奇迹。在计算机编程中,我们可以使用C++进行对称三位数素数的计算。

首先,我们需要定义什么是对称三位数。对称三位数有以下几种可能:

1. 数字ABC满足A=C,B可以是任何数字。例如:121、131、141、151等。

2. 数字ABA满足A和B相等。例如:101、111、131、141等。

我们可以使用循环语句来枚举所有的三位数,然后判断它们是否为对称三位数以及是否为素数。以下是C++程序的代码:


#include <iostream>

#include <cmath>

using namespace std;

bool isPrime(int n) {

  if (n < 2) return false;

  for (int i = 2; i <= sqrt(n); i++) {

    if (n % i == 0) return false;

  }

  return true;

}

bool isSymmetric(int n) {

  int a = n / 100; //百位数

  int b = (n / 10) % 10; //十位数

  int c = n % 10; //个位数

  if (a == c) return true; //判断第一种情况

  if (a == b && b == c) return true; //判断第二种情况

  return false;

}

int main() {

  for (int i = 100; i <= 999; i++) {

    if (isSymmetric(i) && isPrime(i))

      cout << i << endl;

    

  }

  return 0;

}

上述代码中,我们定义了两个函数:isPrime和isSymmetric。isPrime函数用于判断一个数是否为素数,它的实现方式是判断这个数是否能被2到sqrt(n)之间的数整除。isSymmetric函数用于判断一个数是否为对称三位数,它的实现方式是分别计算出这个数的百位数、十位数、个位数,并且判断它们是否满足对称的条件。

在主函数中,我们使用循环语句枚举所有的三位数,并且判断它们是否为对称三位数和是否为素数。如果一个数同时满足这两个条件,那么就输出它。

总的来说,使用C++编程实现对称三位数素数是非常有趣的。它不仅可以提高我们的编程能力,而且可以让我们更好地理解对称性和素数这两个数学概念。如果你对计算机编程和数学感兴趣,不妨尝试一下!

  
  

评论区

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