import java.util.Scanner;public class jianlou {/* * 某财务部门结账时发现总金额不对头。很可能是从明细上漏掉了某1笔或几笔。 * 如果已知明细账目清单,能通过编程找到漏掉的是哪1笔或几笔吗? * 如果有多种可能,则输出所有可能的情况。 * 我们规定:用户输入的第一行是:有错的总金额。 * 接下来是一个整数n,表示下面将要输入的明细账目的条数。 * 再接下来是n行整数,分别表示每笔账目的金额。 *  * 要求程序输出:所有可能漏掉的金额组合。每个情况1行。金额按照从小到大排列,中间用空格分开。 * 比如: * 用户输入: 6 5 3 2 4 3 1 表明:有错的总金额是6;明细共有5笔。 此时,程序应该输出: 1 3 3 1 2 4 3 4 为了方便,不妨假设所有的金额都是整数;每笔金额不超过1000,金额的明细条数不超过100。 */  public static void main(String[] args) {// TODO Auto-generated method stub Scanner cin=new Scanner(System.in);int err_sum=6;int a[]={3,2,4,3,1};int k =0;//开始去处理的位置boolean [] b=new boolean[a.length];f(err_sum,a,k,b,0);}/*err_sum:错误总和* a:账目清单* k:当前处理位置* b:元素取舍(默认不取,全为false)* curr_sum当前累加的总和*/private static void f(int err_sum, int[] a, int k, boolean[] b, int curr_sum) {// TODO Auto-generated method stubif (curr_sum>err_sum) {return;}if (err_sum==curr_sum) {for (int i = 0; i < b.length; i++) {if (b[i]==false) {System.out.print(a[i]+" ");}}System.out.println();return ;}if (k==a.length) {//当 当前元素等于最后一个元素时,遍历完毕return;}f(err_sum, a, k+1, b, curr_sum);curr_sum+=a[k];//是否加上当前项,现一加上,置为trueb[k]=true;f(err_sum, a, k+1, b, curr_sum);b[k]=false;//回溯,以便后一次遍历恢复原来数据}}

某财务部门结账时发现总金额不对头。很可能是从明细上漏掉了某1笔或几笔 递归算法相关推荐

  1. 某财务部门结账时发现总金额不对头。很可能是从明细上漏掉了某1笔或几笔。 如果已知明细账目清单,能通过编程找到漏掉的是哪1笔或几笔吗?

    /** 某财务部门结账时发现总金额不对头.很可能是从明细上漏掉了某1笔或几笔.* 如果已知明细账目清单,能通过编程找到漏掉的是哪1笔或几笔吗?* 如果有多种可能,则输出所有可能的情况.* 我们规定:用 ...

  2. 金额查错:某财务部门结账时发现总金额不对头。很可能是从明细上漏掉了某1笔或几笔, 如果已知明细账目清单,能通过编程找到漏掉的是哪1笔或几笔吗?

    /** 某财务部门结账时发现总金额不对头.很可能是从明细上漏掉了某1笔或几笔. * 如果已知明细账目清单,能通过编程找到漏掉的是哪1笔或几笔吗? * 如果有多种可能,则输出所有可能的情况. * 我们规 ...

  3. 金额查错—某财务部门结账时发现总金额不对头。很可能是从明细上漏掉了某1笔或几笔

    题目描述: 某财务部门结账时发现总金额不对头.很可能是从明细上漏掉了某1笔或几笔. 如果已知明细账目清单,能通过编程找到漏掉的是哪1笔或几笔吗? 如果有多种可能,则输出所有可能的情况. 我们规定:用户 ...

  4. 发现了一个很好用的电脑上用电脑控制安卓手机的软件

    2019独角兽企业重金招聘Python工程师标准>>> 发现了一个很好用的电脑上用电脑控制安卓手机的软件scrcpy, 还是开源的 地址: https://github.com/Ge ...

  5. 你有结账时发现太贵的尴尬吗?

    请女朋友爸妈吃饭,他们专挑贵的点,吃完饭我就提出了分手. 先别急着喷我小气,事情是这样的: 前阵子女朋友跟我说,她爸妈知道女儿恋爱了,想见我,请我吃个饭. 我也不是扭扭捏捏的人,就赴约了.订在一个比较 ...

  6. 结账时提示:不能在对象 't_Balance' 中插入重复键

    用户在使用金蝶专业版财务期末结账时提示: 错误代码:3631(E2FH) Source :Microsoft OLE DB Provider for SQL ServerDetail :违反了 PRI ...

  7. 财务部门:你需要多长时间才能够回答老板的这些问题?

    企业经营管理中,对管理决策者来说,有许多问题是希望随时都知道的,下面,我们一起来探讨一下,这些常见的问题,我们怎么来快速回答. 首先,我们来回答以下几个问题:注:这几个问题都可以通过传统的资产负债表与 ...

  8. 财务部门:OKR 案例集

    财务部门可以成为创始人.企业主和首席执行官的最大盟友,财务部门必须评估和衡量整个公司的支出.收入和现金流.因此,他们也必须负责分析各个部门的财务健康状况. 对于财务部门来说,准确的记录保存也是一个极其 ...

  9. 如何锁门_保安巡查时发现住户未锁门,应该怎么办?记住这九点!

    保安巡查时发现住户未锁门,应该怎么办? 一 在巡查时发现有住户未锁单元门的情况,须立即给予确认. 二 巡查人员应首先确认住户的单元门锁有否遭到损毁和破坏,再确认住户单元内有无人在家.除遇可疑情况外,确 ...

最新文章

  1. Android机器人电池插件源码
  2. 视频图像处理平台对比_情绪管理考勤机人脸识别原理与指纹识别性能对比-微幼科技...
  3. 查看selenium python的api小记录
  4. Laravel核心解读 -- 扩展用户认证系统
  5. linux centos 6.3 下载,CentOS 6.3发布 附ISO下载地址
  6. [Flash开发笔记] List控件--删除指定label或data的项
  7. 和画意思相近的字_画字五行属什么,画字在名字里的含义,画字起名的寓意_卜易居起名字典...
  8. 大学四年,各阶段学习书籍推荐(少走弯路必备)
  9. MAVEN setting.xml配置文件详解
  10. Android之录制歌曲
  11. 找老域名有没有什么好方法?
  12. 网站服务器无法打开ie,internet explorer无法打开站点怎么办
  13. 『UE4数字孪生』开发流程浅析(持续更新)
  14. 支付宝扫码支付模式平台介绍
  15. 梅森旋转算法原理c语言,梅森旋转素数算法(MT199937)c语言代码
  16. 【uniapp】悬浮球(floatball)全局组件——全局消息提醒功能
  17. 假作真时真亦假,无为有处有还无
  18. Solidity实现拍卖竞价,代码解析,著名代码文档出处
  19. 当访问文件时提示文件夹访问被拒绝怎么办
  20. 上手简单的专业麦克风,室内户外清晰录音,唯乐狗G3S体验

热门文章

  1. 防止用户重复登录解决方案
  2. 股票k线黄昏之星怎么看?黄昏之星k线图分析
  3. 职工工资管理系统程序
  4. (Java实现) 洛谷 P1115 最大子段和
  5. JAVA计算机毕业设计校园二手书交易平台(附源码、数据库)
  6. 今天,我们这么和霍金说再见
  7. EAS F7控件弹出表格隐藏某列
  8. 关于一行代码没写完换行\符号的注意
  9. ZigBee的电子标签系统设计
  10. iOS 13 LaunchScreen.storyboard 启动图屏幕适配