原题链接:C语言训练-求车速
解题思路:(此思路从回文那题搬运而来)从95860开始往后枚举若是回文数字(原数字与倒数字相同)自动跳出,判断回文的方法:从个位开始依次取余,每次取余后的结果和上次和的结果*10最后得到的值就是给这个数字翻过来的结果(数字回文题好像都可以用)。
注意事项:每次取余后应该给数字/10,直到/10==0时跳出。
参考代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
for (int i = 95860; 1; i++) {//从95860开始枚举,1为无限循环。
int t = i, z = 0;//z是记录每个数最后的结果(该数倒过来)是否与原数据相等。
while (t > 0) {
z = z * 10 + t % 10;//每次取余后的结果和上次和的结果*10。
t = t / 10;
}
if (z == i) {若原数据与倒数相同则跳出。
cout << z;
break;
}
}
return 0;
}
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复