怎么改才不会超时啊...我就a了三个点...求大佬
查看原帖
怎么改才不会超时啊...我就a了三个点...求大佬
276490
andu楼主2021/7/28 20:18
#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<string.h>
#include<math.h>
using namespace std;
int zhishu(int a) 
{
	int b = 0;
	int i = 0;
	int k = a;
	if (a == 11)
	{
		return a;
	}
	while (k > 0)
	{
		k /= 10;
		i++;
	}
	if (i % 2 == 0 || a % 2 == 0)
	{
		return 0;
	}
	else
	{
		for (int i = 2; i < a; i++)
		{
			if (a % i == 0)
			{
				return 0;
			}
		}
		return a;
	}
}
int huiwen(int a)
{

	int b = a;
	int num = 0;
	while (b > 0)
	{
		num = num * 10 + b % 10;
		b /= 10;
	}
	if (num == a)
	{
		return a;
	}
	else
	{
		return 1;
	}
}
int main()
{
	int x;
	cin >> x;
	int l;
	cin >> l;
	for (int i = x; i < l; i++)
	{
		int a = huiwen(i);
		int b = zhishu(i);
		if (a == b)
		{
			cout << i << endl;
		}
	}
}
2021/7/28 20:18
加载中...