1 条题解
-
-2
思路分析
1. 任务拆解:
- 遍历所有四位数(1000到9999)
- 对每个数计算其反序数(DCBA)
- 检查原数乘以千位数字(A)是否等于反序数
- 输出满足条件的数
2. 关键点分析:
- 四位数ABCD:千位A = i/1000
- 反序数DCBA:通过循环取反得到
- 条件:ABCD × A = DCBA
3. 步骤规划:
- 遍历1000到9999的所有四位数
- 对每个数i:
- 保存临时变量ii = i
- 计算反序数ds
- 获取千位数字A = i/1000
- 检查i × A 是否等于 ds
- 输出满足条件的数
4. 代码对应:
for(int i=1000;i<=9999;i++)→ 遍历所有四位数int ii=i;→ 保存当前数值int ds=0;→ 初始化反序数while(ii)→ 构建反序数ds=ds*10+ii%10;→ 构建反序数DCBAii/=10;→ 删除个位数if(i*(i/1000)==ds)→ 检查条件ABCD×A=DCBAcout<<i<<endl→ 输出满足条件的数
- 1
信息
- ID
- 1331
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- (无)
- 递交数
- 45
- 已通过
- 27
- 上传者