写在前面:
题解是对具体题目的编程实现,不会具体讲解C语言语法。请先大致学习好语法,自己敲敲代码后再看题解(上来就直接看题解的习惯不好哟~)。在每一题的题解之前,会列出本题涉及到的语法知识供参考,可以在教材或其他学习资源找到这些内容学习。😀
本题的预备知识:
- 变量的定义与赋值操作
- 输入(scanf)输出(printf)语句
- for循环语句及其嵌套
- main函数的结束
简单的数值类的题
成绩 | 5 | 开启时间 | 2020年03月21日 星期六 08:35 |
折扣 | 0.8 | 折扣时间 | 2020年04月10日 星期五 23:55 |
允许迟交 | 否 | 关闭时间 | 2020年05月11日 星期一 23:55 |
编程,输出满足下列算式的各字母所代表的数字。
PEAR
- ARA
───────
PEA
测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
---|---|---|---|---|---|
测试用例 1 |
|
| 1秒 | 64M | 0 |
正常人的思维去解答这一题,可以通过思考和推理得出答案,其实本质是在解方程。但是计算机的思维不是如我们一般,但是他的特长是计算能力,普通的pc机一秒可以计算 不等,所以,我们完全可以利用计算机这个特性来枚举解题。总共也就四个未知量,且他们的取值都在0~9之间(最高位p不可取0,在1~9之间),那我们最多枚举 10*10*10*9 次,对计算机来说,小菜一碟!
直接嵌套四个for循环来展示我们的枚举过程:
#include <stdio.h> //导入stdio.h库,里面包含输入输出函数
int main() {
int p, e, a, r; //定义四个待求的整型变量
/* 将四个待求量依次枚举 */
for(p = 1; p <= 9; p ++) {
for(e = 0; e <= 9; e++) {
for(a = 0; a <= 9; a++) {
for(r = 0; r <= 9; r++) {
/* 依次表示在该枚举状态下的每个数 */
int pear = p * 1000 + e * 100 + a * 10 + r;
int ara = a * 100 + r * 10 + a;
int pea = p * 100 + e * 10 + a;
/* 枚举到符合题意的结果 输出 */
if(pear - ara == pea) {
printf("The result is:%d\n", pear); //输出结果
return 0; //结束主程序
}
}
}
}
}
}
有任何问题欢迎评论交流,如果本文对您有帮助不妨点点赞,嘻嘻~
end
欢迎关注个人公众号“ 鸡翅编程 ”,这里是认真且乖巧的码农一枚。
---- 做最乖巧的博客er,做最扎实的程序员 ----
旨在用心写好每一篇文章,平常会把笔记汇总成推送更新~