用主流编程语言解小学题

news2024/12/27 13:38:15

最近在网上刷到一个视频,内容是奶奶有60 元钱,去超市买了10元水果,收营员应该找奶奶多少钱?我一开始反应就是50元,后来想了想题干里没有说明这60元是怎么构成的,有可能是一张50元和一张10元,或者是3张20元等等可能。所以想要知道所有可能可以运用我们所学的编程语言了,下面我将用c语言,Java,Python,JavaScript等语言进行编写

1,c语言版

#include <stdio.h>

void findChange(int total_money, int fruit_cost) {
    int change = total_money - fruit_cost;

    printf("所有可能的找零方式:\n");

    for (int x = 0; x <= change / 50; x++) {
        for (int y = 0; y <= (change - x * 50) / 20; y++) {
            for (int z = 0; z <= (change - x * 50 - y * 20) / 10; z++) {
                for (int w = 0; w <= (change - x * 50 - y * 20 - z * 10) / 5; w++) {
                    int v = change - x * 50 - y * 20 - z * 10 - w * 5;

                    printf("50元纸币:%d张,20元纸币:%d张,10元纸币:%d张,5元纸币:%d张,1元硬币:%d个\n", x, y, z, w, v);
                }
            }
        }
    }
}

int main() {
    int total_money = 60;  // 奶奶的总钱数
    int fruit_cost = 10;   // 水果的价格

    findChange(total_money, fruit_cost);

    return 0;
}

这段代码使用嵌套循环来计算在给定总金额和商品价格的情况下,所有可能的找零方式。

只要传入合适的总金额和商品价格,代码将输出所有可能的找零方案,其中包括50元纸币、20元纸币、10元纸币、5元纸币和1元硬币的数量。

2,Java版

public class l1 {
    public static void findChange(int total_money, int fruit_cost) {
        int change = total_money - fruit_cost;

        System.out.println("所有可能的找零方式:");

        for (int x = 0; x <= change / 50; x++) {
            for (int y = 0; y <= (change - x * 50) / 20; y++) {
                for (int z = 0; z <= (change - x * 50 - y * 20) / 10; z++) {
                    for (int w = 0; w <= (change - x * 50 - y * 20 - z * 10) / 5; w++) {
                        int v = change - x * 50 - y * 20 - z * 10 - w * 5;
                        
                        System.out.printf("50元纸币:%d张,20元纸币:%d张,10元纸币:%d张,5元纸币:%d张,1元硬币:%d个\n", x, y, z, w, v);
                    }
                }
            }
        }
    }

    public static void main(String[] args) {
        int total_money = 60;  // 奶奶的总钱数
        int fruit_cost = 10;   // 水果的价格

        findChange(total_money, fruit_cost);
    }
}

这段Java代码和C代码相似,使用嵌套循环来计算找零方案。在findChange方法中,传入总金额和商品价格,在循环中计算并输出所有可能的找零方案。 

3,Python版

def find_change(total_money, fruit_cost):
    change = total_money - fruit_cost

    print("所有可能的找零方式:")

    for x in range(change // 50 + 1):
        for y in range((change - x * 50) // 20 + 1):
            for z in range((change - x * 50 - y * 20) // 10 + 1):
                for w in range((change - x * 50 - y * 20 - z * 10) // 5 + 1):
                    v = change - x * 50 - y * 20 - z * 10 - w * 5
                    print(f"50元纸币:{x}张,20元纸币:{y}张,10元纸币:{z}张,5元纸币:{w}张,1元硬币:{v}个")

total_money = 60   # 奶奶的总钱数
fruit_cost = 10    # 水果的价格

find_change(total_money, fruit_cost)

这段Python代码与C代码和Java代码类似,也使用嵌套循环来计算找零方案。在find_change函数中,传入总金额和商品价格,并用循环计算并输出所有可能的找零方案。

4,JavaScript版

<!DOCTYPE html>
<html>
<head>
  <title>找零计算器</title>
  <script>
    function findChange(totalMoney, fruitCost) {
      const change = totalMoney - fruitCost;
      
      console.log("所有可能的找零方式:");
      
      for (let x = 0; x <= Math.floor(change / 50); x++) {
        for (let y = 0; y <= Math.floor((change - x * 50) / 20); y++) {
          for (let z = 0; z <= Math.floor((change - x * 50 - y * 20) / 10); z++) {
            for (let w = 0; w <= Math.floor((change - x * 50 - y * 20 - z * 10) / 5); w++) {
              const v = change - x * 50 - y * 20 - z * 10 - w * 5;
              console.log(`50元纸币:${x}张,20元纸币:${y}张,10元纸币:${z}张,5元纸币:${w}张,1元硬币:${v}个`);
            }
          }
        }
      }
    }
    
    function calculate() {
      const totalMoney = parseInt(document.getElementById('total-money').value);
      const fruitCost = parseInt(document.getElementById('fruit-cost').value);
      
      findChange(totalMoney, fruitCost);
    }
  </script>
</head>
<body>
  <h1>找零计算器</h1>
  
  <label for="total-money">总钱数:</label>
  <input type="number" id="total-money"><br><br>
  
  <label for="fruit-cost">水果价格:</label>
  <input type="number" id="fruit-cost"><br><br>
  
  <button onclick="calculate()">计算找零</button>
</body>
</html>

这段HTML代码包含一个标题(<h1>元素)、两个输入框(通过<input>元素并分别设置了id属性),还有一个计算按钮(通过<button>元素并设置了onclick属性来调用JavaScript函数)。在JavaScript部分,定义了findChange函数来计算所有可能的找零方案,并定义了calculate函数来从输入框中获取值并调用找零函数。

在浏览器中打开该文件,就可以看到一个简单的找零计算器界面了。当你填写总钱数和水果价格,点击计算按钮时,会在浏览器的控制台中输出所有可能的找零方案。

四种编译运行结果如下:

所有可能的找零方式:
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:0张,1元硬币:50个
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:1张,1元硬币:45个
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:2张,1元硬币:40个
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:3张,1元硬币:35个
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:4张,1元硬币:30个
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:5张,1元硬币:25个
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:6张,1元硬币:20个
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:7张,1元硬币:15个
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:8张,1元硬币:10个
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:9张,1元硬币:5个
50元纸币:0张,20元纸币:0张,10元纸币:0张,5元纸币:10张,1元硬币:0个
50元纸币:0张,20元纸币:0张,10元纸币:1张,5元纸币:0张,1元硬币:40个
50元纸币:0张,20元纸币:0张,10元纸币:1张,5元纸币:1张,1元硬币:35个
50元纸币:0张,20元纸币:0张,10元纸币:1张,5元纸币:2张,1元硬币:30个
50元纸币:0张,20元纸币:0张,10元纸币:1张,5元纸币:3张,1元硬币:25个
50元纸币:0张,20元纸币:0张,10元纸币:1张,5元纸币:4张,1元硬币:20个
50元纸币:0张,20元纸币:0张,10元纸币:1张,5元纸币:5张,1元硬币:15个
50元纸币:0张,20元纸币:0张,10元纸币:1张,5元纸币:6张,1元硬币:10个
50元纸币:0张,20元纸币:0张,10元纸币:1张,5元纸币:7张,1元硬币:5个
50元纸币:0张,20元纸币:0张,10元纸币:1张,5元纸币:8张,1元硬币:0个
50元纸币:0张,20元纸币:0张,10元纸币:2张,5元纸币:0张,1元硬币:30个
50元纸币:0张,20元纸币:0张,10元纸币:2张,5元纸币:1张,1元硬币:25个
50元纸币:0张,20元纸币:0张,10元纸币:2张,5元纸币:2张,1元硬币:20个
50元纸币:0张,20元纸币:0张,10元纸币:2张,5元纸币:3张,1元硬币:15个
50元纸币:0张,20元纸币:0张,10元纸币:2张,5元纸币:4张,1元硬币:10个
50元纸币:0张,20元纸币:0张,10元纸币:2张,5元纸币:5张,1元硬币:5个
50元纸币:0张,20元纸币:0张,10元纸币:2张,5元纸币:6张,1元硬币:0个
50元纸币:0张,20元纸币:0张,10元纸币:3张,5元纸币:0张,1元硬币:20个
50元纸币:0张,20元纸币:0张,10元纸币:3张,5元纸币:1张,1元硬币:15个
50元纸币:0张,20元纸币:0张,10元纸币:3张,5元纸币:2张,1元硬币:10个
50元纸币:0张,20元纸币:0张,10元纸币:3张,5元纸币:3张,1元硬币:5个
50元纸币:0张,20元纸币:0张,10元纸币:3张,5元纸币:4张,1元硬币:0个
50元纸币:0张,20元纸币:0张,10元纸币:4张,5元纸币:0张,1元硬币:10个
50元纸币:0张,20元纸币:0张,10元纸币:4张,5元纸币:1张,1元硬币:5个
50元纸币:0张,20元纸币:0张,10元纸币:4张,5元纸币:2张,1元硬币:0个
50元纸币:0张,20元纸币:0张,10元纸币:5张,5元纸币:0张,1元硬币:0个
50元纸币:0张,20元纸币:1张,10元纸币:0张,5元纸币:0张,1元硬币:30个
50元纸币:0张,20元纸币:1张,10元纸币:0张,5元纸币:1张,1元硬币:25个
50元纸币:0张,20元纸币:1张,10元纸币:0张,5元纸币:2张,1元硬币:20个
50元纸币:0张,20元纸币:1张,10元纸币:0张,5元纸币:3张,1元硬币:15个
50元纸币:0张,20元纸币:1张,10元纸币:0张,5元纸币:4张,1元硬币:10个
50元纸币:0张,20元纸币:1张,10元纸币:0张,5元纸币:5张,1元硬币:5个
50元纸币:0张,20元纸币:1张,10元纸币:0张,5元纸币:6张,1元硬币:0个
50元纸币:0张,20元纸币:1张,10元纸币:1张,5元纸币:0张,1元硬币:20个
50元纸币:0张,20元纸币:1张,10元纸币:1张,5元纸币:1张,1元硬币:15个
50元纸币:0张,20元纸币:1张,10元纸币:1张,5元纸币:2张,1元硬币:10个
50元纸币:0张,20元纸币:1张,10元纸币:1张,5元纸币:3张,1元硬币:5个
50元纸币:0张,20元纸币:1张,10元纸币:1张,5元纸币:4张,1元硬币:0个
50元纸币:0张,20元纸币:1张,10元纸币:2张,5元纸币:0张,1元硬币:10个
50元纸币:0张,20元纸币:1张,10元纸币:2张,5元纸币:1张,1元硬币:5个
50元纸币:0张,20元纸币:1张,10元纸币:2张,5元纸币:2张,1元硬币:0个
50元纸币:0张,20元纸币:1张,10元纸币:3张,5元纸币:0张,1元硬币:0个
50元纸币:0张,20元纸币:2张,10元纸币:0张,5元纸币:0张,1元硬币:10个
50元纸币:0张,20元纸币:2张,10元纸币:0张,5元纸币:1张,1元硬币:5个
50元纸币:0张,20元纸币:2张,10元纸币:0张,5元纸币:2张,1元硬币:0个
50元纸币:0张,20元纸币:2张,10元纸币:1张,5元纸币:0张,1元硬币:0个
50元纸币:1张,20元纸币:0张,10元纸币:0张,5元纸币:0张,1元硬币:0个

进程已结束,退出代码0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/757481.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day36-JSON+Servlet

0目录 JSONServlet 1.JSONServlet 1.1 创建工程/导入依赖/创建包/BaseDao...... 依赖&#xff1a;javax.servlet、jstl、mysql、taglibs、fastjson <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <…

sqli-labs 1-5 (手注和sqlmap)

sql注入 就是指web运用程序对用户输入数据的合法性没有判断&#xff0c;前端传入后端的参数是攻击者可控的&#xff0c;并且参数代入数据库查询&#xff0c;攻击者可以构造不同的SQL语句来实现对数据库的任意操作。 当然&#xff0c;SQL注入按照不同的分类方法可以分为很多种&a…

高等数学❤️第一章~第二节~极限❤️极限的概念与性质~函数极限(自变量趋于有限值时的极限)详解

【精讲】高等数学中函数极限&#xff1a;自变量趋于有限值时的极限 博主&#xff1a;命运之光的主页 专栏&#xff1a;高等数学 目录 【精讲】高等数学中函数极限&#xff1a;自变量趋于有限值时的极限 导言 二、函数极限自变量趋于有限值的判定方法 三、函数极限自变量趋于…

回溯算法详解(Back Tracking)

本文已收录于专栏 《算法合集》 目录 一、简单释义1、算法概念2、算法目的3、算法思想 二、核心思想三、图形展示四、算法实现1、实现思路2、代码实现TreeNode 类将数组处理成二叉树结构并且返回根节点进行搜索 五、算法分析1、时间复杂度2、空间复杂度3、算法稳定性 一、简单释…

RestFul风格讲解

以前是localhost:8080/user?methodadd&uid1; RestFul风格是以/接上的 localhost:8080/user/马云/6562 package com.qf.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annot…

freemarker模板在客服域的使用场景及用法介绍

&#x1f34a; Java学习&#xff1a;社区快速通道 &#x1f34a; 深入浅出RocketMQ设计思想&#xff1a;深入浅出RocketMQ设计思想 &#x1f34a; 绝对不一样的职场干货&#xff1a;大厂最佳实践经验指南 &#x1f4c6; 最近更新&#xff1a;2023年7月15日 &#x1f34a; 点…

从零搭建秒杀服务

1. 前言 目的&#xff1a;该项目只用于技术交流&#xff0c;不用于过多商业用途。 适用&#xff1a;可用于简历亮点、毕业答辩等。 2. 项目成果 2.1 秒杀主页 包含5个功能点&#xff1a; ①、Product Name&#xff1a;秒杀商品名称 ②、Product Image&#xff1a;秒杀商…

Multiframe-to-Multiframe Network for Video Denoising

Multiframe-to-Multiframe Network for Video Denoising 摘要 现存方法&#xff1a;多相邻帧恢复一个干净帧&#xff0c;效果好但是由于按顺序去噪考虑可能造成视频闪烁&#xff1b; 本文&#xff1a;提出一个多帧对多帧的去噪模型&#xff0c;从连续噪声帧中恢复多个干净帧…

【通览一百个大模型】GLM(THU)

【通览一百个大模型】GLM&#xff08;THU&#xff09; 作者&#xff1a;王嘉宁&#xff0c;本文章内容为原创&#xff0c;仓库链接&#xff1a;https://github.com/wjn1996/LLMs-NLP-Algo 订阅专栏【大模型&NLP&算法】可获得博主多年积累的全部NLP、大模型和算法干货资…

基础算法-【区间合并】

题目 给定 n 个区间 [li,ri]&#xff0c;要求合并所有有交集的区间。 注意如果在端点处相交&#xff0c;也算有交集。 输出合并完成后的区间个数。 例如&#xff1a;[1,3] 和 [2,6] 可以合并为一个区间 [1,6]。 输入格式 第一行包含整数 n。 接下来 n行&#xff0c;每行…

《远见》阅读笔记

不同的环境&#xff0c;不同的职业&#xff0c;职业生涯的建议并没有什么不同 找到热爱的工作&#xff0c;建立热爱的生活 如何思考职业远景 如何分配时间 如何扩张人脉 职业生涯决策框架 三个部分 职场思维、框架、工具实用性建议和案例现实生活为基础&#xff0c;平衡职…

MacOS触控板缩放暂时失灵问题解决

我的系统版本为Monterey 12.5.1&#xff0c;亲测有效 直接创建脚本xxx.sh&#xff0c;并在终端执行脚本bash xxx.sh即可解决此问题&#xff0c;脚本内容如下&#xff1a; #!/bin/bashkillall Finder #kill Finder如不需要可以删除 killall Dock #kill Dock 如不需要可以删…

一文详细介绍什么是数据标注?

机器学习和深度学习算法都依赖于数据&#xff0c;为构建可靠的人工智能模型&#xff0c;需要为算法提供结构良好且标注良好的数据。 为了让机器学习算法学习如何完成特定任务&#xff0c;我们必须标注它们用于训练的数据。换句话说&#xff0c;标注数据很简单&#xff0c;但并不…

pytorch深度学习 之二 拟合数据 从线性到非线性

目的 深入了解线性回归的使用方法&#xff0c;使用非线性激活函数&#xff0c;同时使用pytorch的nn模块&#xff0c;最后使用神经网络来求解线性拟合&#xff0c;只有深入了解了基础&#xff0c;才能做出更高水平的东西。 上一章 神经网络梯度下降和线性回归 拟合定义数据 …

php代码审计15.3之phar伪协议与反序列化

文章目录 1、基础2、生成phar格式文件3、例子4、小试牛刀 1、基础 在漏洞的利用过程之中&#xff0c;我们需要先本地生成phar格式的文件&#xff0c;而生成phar格式的文件&#xff0c;需要将php.ini中的phar.readonly配置项配置为0或Off。目标服务器端是不必开启此配置&#x…

设计模式07-责任链模式

责任链模式属于行为设计模式&#xff0c;常见的过滤器链就是使用责任链模式设计的。 文章目录 1、真实开发场景的问题引入2、责任链模式讲解2.1 核心类及类图2.2 基本代码 3、利用构建者模式解决问题4、责任链模式的应用实例5、总结5.1 解决的问题5.2 使用场景5.3 优缺点 1、真…

计算机的工作原理(操作系统篇)

文章目录 1.操作系统的定位1.硬件2.驱动3.操作系统内核4.系统调用 2.进程3.PCB中有哪些描述进程的特征4.内存管理 1.操作系统的定位 先看一张图: 1.操作系统是最接近硬件的软件,是软件/硬件/用户之间交互的媒介; 2.操作系统起到一个管理的作用 1)对下,要管理硬件设备 2)对上,…

【100天精通python】Day4:运算符

目录 1 算数运算符 2 赋值运算符 3 比较&#xff08;关系运算符&#xff09; 4 逻辑运算符 5 位运算符 6 运算符的优先级 以下是一个完整的示例代码&#xff0c;用于计算学生三科成绩的分差和平均分&#xff1a; 1 算数运算符 Python中的算术运算符包括&#xff1a; 加…

如何在pd里设置win10虚拟机command+w关闭chrome浏览器的一个标签页

背景 在windows&#xff0c;我们知道 ctrlw 在chrome浏览器里可以关闭一个标签页&#xff0c;但是对于MacOS&#xff0c;pd的虚拟机里安装win10后&#xff08;pdparallel desktop)&#xff0c;commandw默认并不是料想中的相当于ctrlw关闭一个标签页&#xff0c;而是关闭所有的…

MPP概述

前言 最近忙于工作&#xff0c;有一段时间没更新自己的博客了&#xff0c;也就意味着囤积了一波需要梳理总结并记录的知识点&#xff0c;但可以保证的是所有都是零星的知识点&#xff0c;不会涉及工作内容。 一、MPP简介 MPP (Massively Parallel Processing)&#xff0c;即大…