文章目录
- 一、实例描述
- 二、技术要点
- 三、代码实现
- 3.1 C 语言实现
- 3.2 Python 语言实现
- 3.3 Java 语言实现
- 3.4 JavaScript 语言实现
一、实例描述
集邮爱好者把所有的邮票存放在三个集邮册中,在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)
从化简的等式来看我们可以确定出 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 <stdio.h>
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;
}
程序运行结果如下图所示:
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
运行结果如下图所示:
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;
}
}
}
}
运行结果如下图所示:
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
}
}
运行结果如下图所示:
至此今天的学习就到此结束了,笔者在这里声明,笔者写文章只是为了学习交流,以及让更多学习编程的读者少走一些弯路,节省时间,并不用做其他用途,如有侵权,联系博主删除即可。感谢您阅读本篇博文,希望本文能成为您编程路上的领航者。祝您阅读愉快!
好书不厌读百回,熟读课思子自知。而我想要成为全场最靓的仔,就必须坚持通过学习来获取更多知识,用知识改变命运,用博客见证成长,用行动证明我在努力。
如果我的博客对你有帮助、如果你喜欢我的博客内容,请点赞
、评论
、收藏
一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!如果实在要白嫖的话,那祝你开心每一天,欢迎常来我博客看看。
编码不易,大家的支持就是我坚持下去的动力。点赞后不要忘了关注
我哦!