题目:x为正整数,定义rev(x)是x在十进制下翻转得到的数(x无前导零),如rev(53)=35,rev(1200)=21。给定正整数n,求x+rev(x)=n的正整数解的个数。
3条回答 默认 最新
- 技术专家团-小桥流水 2021-11-03 14:55关注
for循环你应该能明白,你应该是while那个地方不明白吧,解析如下:
X =x; y=0; while(X) { y = 10*y +X%10; X/=10; } 以X=53为例: X%10是获取X的个位数,比如53的个位数是3 X/=10是让X除以10,比如53/10后的数是5 y 初始值为0,第一次执行while时 y = 10*y +X%10 = 0 + 3=3; X/=10 ;X = 5; 第二次执行while y = 10*y +X%10 = 3*10 + 5 =35; X/=10 ;X =0; while结束,此时y=35,正好是X逆序后的数
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥15 请教各位,Android加载数据问题,每次点击获取数据之后无法更新。
- ¥15 汇编语言没有主程序吗?
- ¥15 这个函数为什么会爆内存
- ¥15 无法装系统,grub成了顽固拦路虎
- ¥15 springboot aop 应用启动异常
- ¥15 matlab有关债券凸性久期的代码
- ¥15 lvgl v8.2定时器提前到来
- ¥15 qtcp 发送数据时偶尔会遇到发送数据失败?用的MSVC编译器(标签-qt|关键词-tcp)
- ¥15 cam_lidar_calibration报错
- ¥15 拓扑学,凸集,紧集。。