C语言实现:找四位反序数与对称数问题
需积分: 6 168 浏览量
更新于2024-07-20
收藏 147KB DOC 举报
这篇资源主要包含了两个C语言编程题目,分别是求解四位数的反序数问题和寻找汽车里程表上对称数的问题。
对于第一个问题,“21.4位反序数”,题目要求找到一个四位数N,它的9倍等于其反序数。通过分析,我们可以设置N的四位数分别为i、j、k、l(0到9之间),然后建立等式(i*103+j*102+10*k+l)*9=(l*103+k*102+10*j+i)。为了找到这样的数,可以使用穷举法遍历所有可能的四位数,用C语言实现如下:
```c
#include<stdio.h>
int main() {
int i;
for (i = 1002; i < 1111; i++) { // 穷举四位数可能的值
if (i % 10 * 1000 + i / 10 % 10 * 100 + i / 100 % 10 * 10 + i / 1000 == i * 9) { // 判断反序数是否是原整数的9倍
printf("The number satisfied stats condition is: %d\n", i);
}
}
}
```
运行这段代码,结果会输出满足条件的四位数1089。
第二个问题是“求车速”。给定一个对称数(例如95859),两小时后里程表上的新对称数需满足同样条件。我们可以设新对称数为i,初始值为95860,然后递增i并检查是否对称。如果找到满足条件的对称数,就输出该数及车速。C语言实现如下:
```c
#include<stdio.h>
int main() {
int t, a[5]; // 数组a存放分解的数字位
long int k, i;
for (i = 95860;; i++) { // 以95860为初值,循环试探
for (t = 0, k = 100000; k >= 10; t++) { // 从高到低分解所取i值的每位数
a[t] = (i % k) / (k / 10); // 字,依次存放于a[0]~a[5]中
k /= 10;
}
if ((a[0] == a[4]) && (a[1] == a[3])) {
printf("The new symmetrical number kilometers is: %d%d%d%d%d\n", a[0], a[1], a[2], a[3], a[4]);
printf("The velocity");
// 这里计算车速的部分缺失,假设车辆行驶了x公里,时间是2小时,则速度为x/2 km/h
// 需要根据实际距离计算速度
break;
}
}
}
```
这个程序会找到新的对称数,并输出,但计算车速的部分未给出,需要补充计算实际行驶的距离才能得出车速。
这两个问题都涉及到基本的数学逻辑和C语言编程技巧,包括循环、条件判断、数组操作等。解决这些问题有助于提升编程思维和算法理解能力。
2023-11-05 上传
2023-07-26 上传
2017-11-13 上传
2023-10-10 上传
2023-07-01 上传
2024-07-07 上传
2024-08-27 上传
2023-06-24 上传
2023-12-15 上传
![](https://profile-avatar.csdnimg.cn/6aa2ad070a2e425e82172a8132585f5b_baidu_27962861.jpg!1)
Bernardasdf
- 粉丝: 0
- 资源: 1
最新资源
- AirKiss技术详解:无线传递信息与智能家居连接
- Hibernate主键生成策略详解
- 操作系统实验:位示图法管理磁盘空闲空间
- JSON详解:数据交换的主流格式
- Win7安装Ubuntu双系统详细指南
- FPGA内部结构与工作原理探索
- 信用评分模型解析:WOE、IV与ROC
- 使用LVS+Keepalived构建高可用负载均衡集群
- 微信小程序驱动餐饮与服装业创新转型:便捷管理与低成本优势
- 机器学习入门指南:从基础到进阶
- 解决Win7 IIS配置错误500.22与0x80070032
- SQL-DFS:优化HDFS小文件存储的解决方案
- Hadoop、Hbase、Spark环境部署与主机配置详解
- Kisso:加密会话Cookie实现的单点登录SSO
- OpenCV读取与拼接多幅图像教程
- QT实战:轻松生成与解析JSON数据