Python C++ 实现 输出1-1000以内的回文数

x33g5p2x  于2022-05-30 转载在 Python  
字(0.7k)|赞(0)|评价(0)|浏览(549)

回文数,即正反读都是相同的数,如1221、12321等。

【分析】:
分三种情况讨论:

  • 1-9范围 一定是回文数,直接输出即可;
  • 10-99范围,当个位数与十位数都相同,就是回文数;
  • 100-999范围 当个位数与百位数都相同,就是回文数;

C++代码实现:

/*
2、用除法与取余结合获取个十百位数;
3、用if判断,只要位数相等,就是回文数输出。 
*/ 
#include<iostream>
using namespace std;
int main() {
	int sum = 0; 
	for(int i=1;i<1000;i++){
		if(i<10){
			cout<<i<<endl;
			sum++;
		} 
		else
		if(i>=10 && i<100){
			int ge,shi;
			if(i%10 == i/10){
				cout<<i<<endl;
				sum++;
			}
		} 
		else{
			if(i%10 == i/100){
				cout<<i<<endl;
				sum++;
			}
		} 
	}
	cout<<"1-999总共有"<<sum<<"个回文数";
	return 0;
}

Python代码实现:

sum_1 = 0
for i in range(1,1001):
     a = str(i)      # 把 整型 i变量转为字符串格式赋给变量a
     b = a[::-1]    # 获取变量a 顺序相反的数,(a=104 => b=401)
     if a==b:       # 只要a等于b的值,就是回文数
          print(i)
          sum_1 += 1 # 统计回文数多少
print("1-999总共有%d个回文数" % sum_1)

相关文章