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

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

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

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

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

C++代码实现:

  1. /*
  2. 2、用除法与取余结合获取个十百位数;
  3. 3、用if判断,只要位数相等,就是回文数输出。
  4. */
  5. #include<iostream>
  6. using namespace std;
  7. int main() {
  8. int sum = 0;
  9. for(int i=1;i<1000;i++){
  10. if(i<10){
  11. cout<<i<<endl;
  12. sum++;
  13. }
  14. else
  15. if(i>=10 && i<100){
  16. int ge,shi;
  17. if(i%10 == i/10){
  18. cout<<i<<endl;
  19. sum++;
  20. }
  21. }
  22. else{
  23. if(i%10 == i/100){
  24. cout<<i<<endl;
  25. sum++;
  26. }
  27. }
  28. }
  29. cout<<"1-999总共有"<<sum<<"个回文数";
  30. return 0;
  31. }

Python代码实现:

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

相关文章