整数相加是否可得回文数问题怎样用C++解决

给出一个十进制数(不跨越20位),将整数与它的倒序数相加,若是获得一个回文数,输出步数,若是不是回文数,则继续相加,若是在30步以内(包罗30步)得不到回文数,则输出整数不克不及获得回文数。

如何用C++实现这一算法呢?小编与大师分享编程经验。

工具/原料

  • C++

方式/步骤

  1. 1

    将十进制数87转换为回文数,可以与它的倒序数相加,直到转换为回文数,共需4个步调。

  2. 2

    首先,界说一个常量SIZE,节制数组的长度。

  3. 3

    界说整型变量,实现法式的运算。

  4. 4

    接着,界说一个变量,保留用于计较的整数列位的值。

  5. 5

    界说一个布尔型变量,节制轮回的退出。

  6. 6

    输入进制,保留在变量n中。

  7. 7

    用do-while轮回,输入需要转换为回文的整数,保留在数组c[i]中。

  8. 8

    用while语句节制计较回文数,前提是flag的值为真。

  9. 9

    用两个for轮回语句,将输入的数转换为十进制数。

  10. 10

    将两个十进制数相加,成果保留在变量sum中。

  11. 11

    将相加获得的整数,转换为输入要求的进制。

  12. 12

    用count实现转换步调的统计,如下图所示。

  13. 13

    判定计较出的数是否为回文数,用while语句实现判定。

  14. 14

    若是可以转换为回文数,输出转换当作功所需的步调。

  15. 15

    最后,若是转换的次数年夜于30次,则输出该数不克不及转换为回文数。

  16. 16

    运行法式,输入进制和整数后,电脑就管帐算出转换为回文数的步调数,若是不克不及转换,则输出无法转换为回文数。

  • 发表于 2018-10-30 00:00
  • 阅读 ( 210 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论