欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

对称素数

程序员文章站 2022-07-12 23:31:33
...
  • 1、对称三位素数
    判断三位数是否为对称素数,若是,输出Yes,否则输出No
一、方法一
#include<iostream>
using namespace std;
//对称三位素数

void main(){
	
	int n;
	cin >> n;
	cout << "please input"<<n<<"positive inegers"<<endl;
	int a[20];
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	for (int j = 0; j < n; j++) {
		//判断a[j]是否为三位对称素数
		for (int k = 2; k < a[j]; k++) {
			if (a[j] % k == 0 || a[j] < 100 || a[j]>1000||a[j]%10!=a[j]/100%10) {
				cout << "NO" << endl;
				break;
			}
			if(j+1==k)
				cout << "YES" << endl;
		}
	}
	
	
}

对称素数

二、方法二
#include<iostream>
using namespace std;
//对称三位素数
bool isPrime(int n) {
	for (int i = 2; i < n; i++) {
		if (n % i == 0)
			return false;
	}
	return true;
}
void main(){
	
	int n;
	while (cin >> n) {
		cout << (n > 100 && n < 1000 && n / 100 % 10 == n % 10 && isPrime(n) ? "Yes\n" : "No\n");
	}
	
}

对称素数

  • 判断五位以内的对称素数
    判断5位以内的对称素数,若是则输出Yes,否则输出No
#include<iostream>
using namespace std;
//判断5位以内的对称素数,若是则输出Yes,否则输出No
int isPrime(int n) {
	int k = (int)sqrt(n);
	if (n == 1) return 0;
	for (int i = 2; i <= k; i++) {
		if (n % i == 0)
			return 0;
	}
	return 1;
}
void main(){
	int n;
	while (cin >> n) {
		if (n / 10 == 0 && isPrime(n==1)) {//一位素数均为对称素数
			cout << "Yes" << endl;
		}
		else if (n / 100 == 0 && (n % 10 == n / 10 % 10) && isPrime(n)==1) {
			cout << "Yes" << endl;
		}
		else if (n / 1000 == 0 && (n % 10 == n / 100 % 10) && isPrime(n)==1) {
			cout << "Yes" << endl;
		}
		else if (n / 10000 == 0 && (n % 10 == n / 1000 % 10 && n / 10 % 10 == n / 100 % 10) && isPrime(n)==1) {
			cout << "Yes" << endl;
		}
		else {
			cout << "No" << endl;
		}
	}
	
}

对称素数

相关标签: 对称三位素数