NOIP 1155:回文三位数

1155:回文三位数


时间限制: 1000 ms         内存限制: 65536 KB
提交数: 30340     通过数: 19971

【题目描述】

如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如6886就是一个回文数,求出所有的既是回文数又是素数的三位数。

【输入】

(无)

【输出】

所有的既是回文数又是素数的三位数。一个数一行。

【输入样例】

(无)

【输出样例】

(无)

 知识补充:

知识点1:ASCII 码

补充1

	b[0]=a[0]-'0';//这个可以从字符型转换为整数型 

 代码:

#include<iostream>
#include<cstring>
using namespace std;
int chartoint(char str);
int reverse(int number1);
int pure(int number1); 
int main()
{
//	int number=0;
//	int number3=0;
	for(int i=100;i<1000;i++)
	{
	 	if(i==reverse(i)&&pure(i)==1)
		 {
		 	cout<<i<<endl;
		 }
	}
	return 0;
}
int reverse(int number1)
{
	int b,s,g;
	b=number1/100;
	s=number1/10%10;
	g=number1%10;
	
	return (g*100+s*10+b);
}
int pure(int number1)
{
	for(int i=2;i<number1;i++)
	{
		if(number1%i==0)
		{
			return 0;//0 
		}
	}
	return 1;
}

 

随手写的程序

输入三个数判断是否是回文数

#include<iostream>
#include<cstring>
using namespace std;
int chartoint(char str);
int main()
{
	char a[3]={0};
	cin>>a;
	int len=0;
	len=strlen(a);
	//cout<<a[0];
	int b[3]={0};
	int c[3]={0};
	for(int i=0;i<len;i++)//0 1 2 3//转换为数字类型 
	{
		b[i]=chartoint(a[i]);
		//cout<<b[i]<<endl;
	}
	for(int i=2,j=0;i>=0;i--,j++)//0 1 2 3//转换为数字类型 
	{
		c[i]=b[j];
	//	cout<<c[j]<<endl;
	}
	for(int i=2;i>=0;i--)//0 1 2 3//转换为数字类型 
	{
	    if(c[i]!=b[i])
	    {
	    	cout<<"不是回文数"<<endl;
			break; 
		}
		if(i==0)
		{
			cout<<"是回文数字"<<endl;
			//cout<<b; //数组没有办法直接这么打印。 
		}
	}
	//cout<<len;
	return 0;
}
//int reverse(int )
int chartoint(char str)
{
	int number;
	number=str-'0';
//	cout<<number<<endl;
	return number;
} 
//int reverse(int str)
//{
//	int number;
//	number=str-'0';
//	return number;
//} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值