简单的数值类的题

写在前面:

题解是对具体题目的编程实现,不会具体讲解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. The result is:1098↵
1秒64M0

正常人的思维去解答这一题,可以通过思考和推理得出答案,其实本质是在解方程。但是计算机的思维不是如我们一般,但是他的特长是计算能力,普通的pc机一秒可以计算10^5 \rightarrow \textup10^7 不等,所以,我们完全可以利用计算机这个特性来枚举解题。总共也就四个未知量,且他们的取值都在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,做最扎实的程序员 ----

旨在用心写好每一篇文章,平常会把笔记汇总成推送更新~

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值