用主流编程语言解小学题

最近在网上刷到一个视频,内容是奶奶有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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图形编辑器开发:一些会用到的简单几何算法

大家好&#xff0c;我是前端西瓜哥。 开发图形编辑器&#xff0c;你会经常要解决一些算法问题。本文盘点一些我开发图形编辑器时遇到的简单几何算法问题。 矩形碰撞检测 判断两个矩形是否发生碰撞&#xff08;或者说相交&#xff09;&#xff0c;即两个矩形有重合的区域。 …

lwip-2.1.3自带的httpd网页服务器使用教程(一)从SD卡读取网页文件并显示

概述 本教程使用的单片机是STM32F103ZE&#xff0c;有线网口芯片为ENC28J60。 本教程里面的网页由于需要兼容Windows XP系统的IE8浏览器&#xff0c;所以采用HTML 4.01编写&#xff0c;不使用任何前端框架。笔者使用的网页设计软件是Adobe Dreamweaver CS3。 开发板PCB文件是公…

我造了一个新的词汇:信息湍流

信息湍流 信息湍流的简介起因有出现信息湍流的领域如何做信息湍流的计算 信息湍流的简介 在物流学中&#xff0c;一个物体从一个位置到另外一个位置&#xff0c;我们可以通过精确的公式计算来预测出新位置。 而水和气体则是大量一个一个物体组成的新物体&#xff0c;称为&…

【UniApp开发小程序】项目创建+整合UI组件(FirstUI和uView)

创建项目 下图为初始化的项目的文件结构 引入组件 俗话说&#xff1a;“工欲善其事&#xff0c;必先利其器”&#xff0c;为了更加方便地开发出页面较为美观的小程序&#xff0c;我们先引入成熟的UI组件&#xff0c;再开始开发之旅。&#xff08;如果你是前端高手&#xff0…

人工智能-神经网络

目录 1 神经元 2 MP模型 3 激活函数 3.1 激活函数 3.2 激活函数作用 3.3 激活函数有多种 4、神经网络模型 5、神经网络应用 6、存在的问题及解决方案 6.1 存在问题 6.2 解决方案-反向传播 1 神经元 神经元是主要由树突、轴突、突出组成&#xff0c;树突是从上面接收很多…

【DeepLabCut】初识姿势估计 | DeepLabCut教程 | 单动物实现

&#x1f4e2;前言&#xff1a;姿势估计作为计算机视觉领域中的一个重要分支&#xff0c;本章将介绍姿势估计和一个用于姿势估计的工具。并以斑马鱼的运动视频为例&#xff0c;手把手教你如何用deeplabcut训练自己的数据。 目录 Ⅰ 初识姿势估计 0x00 姿势估计介绍 Ⅱ 初…

Android ART虚拟机系列: 虚拟机CheckPoint机制分析

背景 在Android ART虚拟机中&#xff0c;GC的部分流程中会执行stop the world的操作&#xff0c;那么&#xff0c;STW在虚拟机中如何实现呢&#xff1f;本文就深入到ART虚拟机源码中&#xff0c;探寻STW的实现过程。 【本文基于android12源码分析】 CheckPoint机制 ART虚拟机…

如何用Stable Diffusion模型生成个人专属创意名片?

目录 1 什么是二维码&#xff1f;2 什么是扩散模型&#xff1f;3 Stable Diffusion环境搭建4 开始制作创意名片结语 1 什么是二维码&#xff1f; 二维码是一种用于存储和传输信息的方便而广泛使用的图像编码技术。它是由黑色方块和白色空白区域组成的二维图形&#xff0c;可以…

简化生活之让AI以指定格式输出

原文合集地址如下&#xff0c;有需要的朋友可以关注 本文地址 合集地址 今天京东也宣布即将发布了自己的大模型&#xff0c;那么使用AI大模型进行工作或者生活将是必不可少的步骤。 建立命令 AI大模型是一种生成式聊天对话模型&#xff0c;我们可以通过预先定义命令的方式…

SpringBoot集成Flowable工作流

SpringBoot集成Flowable工作流 Flowable是什么&#xff1f;一、添加依赖二、flowable配置三、定义流程文件1.使用流程文件定义工作流2.idea使用插件来定义流程图1.安装插件2.创建bpmn文件并画流程图3.右击流程用模型设计器打开文件 四、测试controller Flowable是什么&#xff…

IDEA运行TOMCAT出现404

就这种问题&#xff0c;每个人的原因都不一定一样&#xff0c;我出现这种问题的解决方法在这里记录一下。顺便把我的配置记录一下。 除了本文的问题&#xff0c;还有可能是默认打开的文件名错了&#xff0c;或者端口被占用。 软件版本IDEA2023 TOMCAT9 亲测&#xff1a;IDE…

linux文件锁(保证只能同时启动一个实例,不同时启动多个实例)

文章目录 C如果程序异常退出&#xff0c;会自动释放锁码&#xff1f; shell脚本python脚本 C 可以使用Linux中的进程锁来实现只能启动一个实例的功能。一种常见的方法是使用文件锁&#xff08;File Locking&#xff09;。 可以在程序启动时创建一个特定的文件&#xff0c;并尝…

54、Mysql索引的数据结构,各自优劣

Mysql索引的数据结构&#xff0c;各自优劣 索引的数据结构和具体存储引擎的实现有关在MySQL中使用较多的索引有Hash索引&#xff0c;B树索引等InnoDB存储引擎的默认索引实现为: B树索引。对于哈希索引来说&#xff0c;底层的数据结构就是哈希表&#xff0c;因此在绝大多数需求…

Jmeter四种关联方法讲解

目录 方法一&#xff0c;从前一个请求中取&#xff0c;用正则表达式提取器。 二、json path extractor 三、json extractor 四、XPath Extractor 方法一&#xff0c;从前一个请求中取&#xff0c;用正则表达式提取器。 具体方法&#xff0c;在需要获得数据的请求上右击添加…

python+selenium进行cnblog的自动化登录测试

Web登录测试是很常见的测试&#xff0c;手动测试大家再熟悉不过了&#xff0c;那如何进行自动化登录测试呢&#xff01;本文就基于pythonselenium结合unittest单元测试框架来进行一次简单但比较完整的cnblog自动化登录测试&#xff0c;可提供点参考&#xff01;下面就包括测试代…

出海企业系列风险分析--网站需要验证码吗?

最近接待了几位从discuz来的用户&#xff0c;说是想要给自己海外的网站安装验证码&#xff0c;但是discuz境外服务器还要解析安装中心的DNS到境外服务器上&#xff0c;所以基于discuz建站的不好之处就在这里。 而且我们还讨论到一个问题&#xff0c;海外的网站&#xff0c;需要…

你知道mp3转换器怎么用吗?分享在线音频转换mp3怎么弄

飒飒&#xff1a;嘿&#xff0c;你有没有想过如何将在线音频转换为mp3格式&#xff1f; 潇潇&#xff1a;是的&#xff0c;我确实有过这个需求。在网上找到了一些工具和方法&#xff0c;可以帮助我们完成这个任务。 飒飒&#xff1a;那太好了&#xff01;你能告诉我一些详细的…

JS代码加密技术:僵尸代码植入

JS混淆加密&#xff1a;僵尸代码 僵尸代码植入&#xff0c;是JS混淆加密中一项很有用的技术。 比如JShaman&#xff0c;作为国内知名的JS混淆加密产品&#xff0c;便具备这一功能。 它可以给原始代码中增加一些额代的功能代码&#xff0c;比如&#xff1a;变量定义、函数调用…

Linux dpkg和dpkg-deb常用参数使用说明

名词解释 “dpkg ”是“ Debian Packager ”的简写。为“Debian” 专门开发的套件管理系统&#xff0c;方便软件的安装、更新及移除。所有源自“Debian”的“Linux ”发行版都会使用 “dpkg”&#xff0c;例如 “ Ubuntu ”、“Knoppix ”等。 dpkg-deb和dpkg的区别 dpkg-de…

一次元数据空间内存溢出的排查记录 | 京东云技术团队

在应用中&#xff0c;我们使用的 SpringData ES的 ElasticsearchRestTemplate来做查询&#xff0c;使用方式不对&#xff0c;导致每次ES查询时都新实例化了一个查询对象&#xff0c;会加载相关类到元数据中。最终长时间运行后元数据出现内存溢出&#xff1b; 问题原因&#xf…