• 编程每日一练(多语言实现)基础篇:求总数问题


    一、实例描述

    集邮爱好者把所有的邮票存放在三个集邮册中,在A册内存放全部的十分之二,在B册内存放不知道是全部的七分之几,在C册内存放303张邮票,问这位集邮爱好者集邮总数是多少?以及每册中各有多少邮票?运行结果如下图所示:
    在这里插入图片描述

    二、技术要点

    根据题意可设邮票总数为 total,A册内存放全部的 2/10,B册内存放全部的 i/7,C册内存放 303 张邮票,则可列出:

    total = 2/10 * total + i * total / 7 + 303
    // 推出 经化简可得 total = 10605/(28-5*i)
    
    • 1
    • 2

    从化简的等式来看我们可以确定出 i 的取值范围是 1<=i<=5(28-5*i不能为负数),还有一点我们要明确就是邮票的数量一定是整数不可能出现小数或其它,这就要求 i 必须要满足 10605/(28-5*i)==0

    三、代码实现

    3.1 C 语言实现

    /*================================================================
    *   Copyright (C) 2023 AmoXiang All rights reserved.
    *   
    *   文件名称:02-求总数问题.c
    *   创 建 者:AmoXiang
    *   创建日期:2023年09月27日 17:23:35
    *   描    述:
    *
    ================================================================*/
    
    
    #include 
    int main(){
        int i, total=0,a=0,b=0,c=303;
        for(i=1;i<=5;i++){ //i的取值范围从1到5
            if(10605%(28-5*i)==0){ //满足条件的i值即为所求,即7分之几的几
                    total = 10605 / (28-5*i); //计算出邮票的总数
                    a = 2 * total / 10; //计算a集邮册中的邮票数 
                    b = i * total / 7; //计算b集邮册中的邮票数 
                    break;
            }
        }
        printf("total is %d\n", total);
        printf("A: %d\n", a); //输出A集邮册中的邮票数 //输出A集邮册中的邮票数 
        printf("B: %d\n", b); //输出B集邮册中的邮票数 
        printf("C: %d\n", c);  //输出C集邮册中的邮票数 
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    程序运行结果如下图所示:
    在这里插入图片描述

    3.2 Python 语言实现

    # -*- coding: utf-8 -*-
    # @Time    : 2023/9/27 16:54
    # @Author  : AmoXiang
    # @File    : 02-求总数问题.py
    # @Software: PyCharm
    # @Blog    : https://blog.csdn.net/xw1680
    
    total = a = b = 0
    c = 303
    for i in range(1, 6):
        if 10605 % (28 - 5 * i) == 0:
            total = 10605 // (28 - 5 * i)  # python整除需要使用//
            a = total * 2 // 10
            b = total * i // 7
            print(f"total is {total}")
            print(f"A: {a}")
            print(f"B: {b}")
            print(f"C: {c}")
            break
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    运行结果如下图所示:
    在这里插入图片描述

    3.3 Java 语言实现

    /**
     * ClassName: Exercise2
     * Package: PACKAGE_NAME
     * Description:
     *
     * @Author AmoXiang
     * @Create 2023/9/27 17:59
     * @Version 1.0
     */
    public class Exercise2 {
        public static void main(String[] args) {
            int total = 0, a = 0, b = 0;
            int c = 303;
            for (int i = 1; i < 6; i++) {
                if (10605 % (28 - 5 * i) == 0) {
                    total = 10605 / (28 - 5 * i);
                    System.out.println("total is " + total);
                    a = 2 * total / 10;
                    b = i * total / 7;
                    System.out.println("A: " + a);
                    System.out.println("B: " + b);
                    System.out.println("C: " + c);
                    break;
                }
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    运行结果如下图所示:
    在这里插入图片描述

    3.4 JavaScript 语言实现

    let total = 0, a = 0, b = 0, c = 303;
    for (let i = 1; i < 6; i++) {
        if (10605 % (28 - 5 * i) == 0) {
            total = 10605 / (28 - 5 * i);
            a = 2 * total / 10;
            b = i * total / 7;
            console.log(`total is ${total}`);
            console.log(`A: ${a}`);
            console.log(`B: ${b}`);
            console.log(`C: ${c}`);
            break
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    运行结果如下图所示:
    在这里插入图片描述
    至此今天的学习就到此结束了,笔者在这里声明,笔者写文章只是为了学习交流,以及让更多学习编程的读者少走一些弯路,节省时间,并不用做其他用途,如有侵权,联系博主删除即可。感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!


    在这里插入图片描述

        好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
        如果我的博客对你有帮助、如果你喜欢我的博客内容,请 点赞评论收藏 一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
     编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了 关注 我哦!

  • 相关阅读:
    四种常见分布式限流算法实现!
    Sentinel安装与部署
    Object.defineProperty方法
    网络安全笔记 -- 文件操作(文件下载读取)
    【虚拟仿真】Unity3D中实现3DUI,并且实现Button、InputField、Toggle等事件绑定
    GaussDB CN服务异常实例分析
    845. 八数码(Acwing)
    vue+Ts+element组件封装
    Linux易混淆知识点
    【Mysql系列】Mysql基础篇
  • 原文地址:https://blog.csdn.net/xw1680/article/details/133358433