小明开了一家糖果店、把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖 小朋友来买糖的时候,他就用两种包装来组合,当然有些糖果数目是无法组合出来的,比如要买10颗糖 在这种包装情况下,最大不能买到

news/2024/11/23 5:11:19/

解法一:

import java.util.Scanner;/**小明开了一家糖果店、把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖
小朋友来买糖的时候,他就用两种包装来组合,当然有些糖果数目是无法组合出来的,比如要买10颗糖在这种包装情况下,最大不能买到的数量是17,大于17的任何数字都可以用4和7组合出来 本题的要求是在已知两个包装的数量时,求最大不能组合的出的数字。*///分析:
//ax+by=c,不定方程的解,a=4,b=7,c=17,这种情况下,学院实际上有解,7*2+(7-4)==3*7-1*4
//a,b 互质,一定有解且解的数目无穷
//c是gcd(a,b)的倍数,方程一定有解,而且有无穷多解//条件:一定有解 a,b互质
//条件二:xy都是大于等于0的整数,在这个限定的条件下有的c是无解的,那么c的上界至多是a*bpublic class _买不到的数目 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int a = sc.nextInt();int b = sc.nextInt();System.out.println(a * b - a - b);}}

解法二:

public class _买不到的数字解法二 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int a = sc.nextInt();int b = sc.nextInt();int max=a*b; //最大值Set<Integer> ss=new HashSet<Integer>();//去重//从0开始枚举到maxfor(int x=0; a*x < max; x++) {for(int y = 0; a*x + b*y < max; y++) {ss.add(a*x+b*y);//用不小于0的x和y与系数能组合出来的数加到set中}}for(int i=max-1; i>=0;i--) {if(!ss.contains(i)) {//查找第一个不在set中的值System.out.println(i);break;}}}
}

http://www.ppmy.cn/news/695116.html

相关文章

STK。在地面能够“看到”多少颗GPS卫星

(STK。在地面能够“看到”多少颗GPS卫星) 当时收集到的agi官方的资料。 地址&#xff1a; 盘 点 百度 点com/s/1dU22GDTVrZ3SfelcIRA3wQ?pwdabcd 提取码:abcd 当时从stk官网下载到的一些官方资料&#xff0c;不全。如果有需要可以搭梯子去外网搜索。从他们官网上下载文章和观…

如何直观的打印一颗二叉树

如何直观的打印一颗二叉树 打印的结果是需要顺时针旋转90度的&#xff0c;如下面的结果打印出来是这样的。 如何打印呢? 需要处理以下四个问题&#xff1a; 遍历树的顺序是 右子树->根->左子树&#xff1b;因为要避免数字长度影响对齐的因素&#xff0c;所以两边补…

用数学归纳法证明二叉树的先序遍历序列和中序遍历序列可以唯一确定一颗二叉树

用数学归纳法证明二叉树的先序遍历序列和中序遍历序列可以唯一确定一颗二叉树。 首先说明&#xff1a;思想来自文都考研洪老师。包括逻辑框架的搭建&#xff0c;此篇文章为框架搭建完成后将细节补充完整。 首先&#xff0c;用到的数学的证明思想是第二类数学归纳法&#xff…

gps有几个轨道面_GPS(全球定位系统)的 24 颗卫星的轨道是如何设计的?

谢邀,先稍微补充下背景知识, 任何一颗卫星在设计时,都要考虑六个参数,叫做轨道六根数 两个决定了卫星轨道的形状:1)轨道半长轴,决定了轨道大概多大,或者距离地球有多高;2)偏心率决定了大概多扁,偏心率为0就是圆了 四个决定了卫星轨道的位置:3)轨道倾角,决定了轨道与…

前序遍历和中序遍历唯一确定一颗二叉树

---恢复内容开始--- 问题描述 如果给出了遍历二叉树的前序序列和中序序列,则可以构造出唯一的一颗二叉树。 基本要求 已知一棵二叉树的前序序列和中序序列,试设计完成下列任务的一个算法: (1).构造一颗二叉树 (2).证明构造正确(即分拨儿以前序和中序遍历该树,将得到的…

删除一颗二叉树

package tree;public class DeleteBT {/*** 删除一颗二叉树* param args*/public static TreeNode delete(TreeNode root){if(rootnull) return root;root.left delete(root.left);root.right delete(root.right);return null;}public static void main(String[] args) {Tree…

题目: 打印输出上下左右对称的,第一行一颗星,第二行三颗星,第三行五颗星,第四行七颗星,第五行五颗星,第六行三颗星,第七行一颗星

题目: 打印输出 * *** ***** ******* ***** *** * /* 分析: 前4行,行数1 2 3 4 i空格数3 2 1 0 4-i星数1 3 5 7 2*i-1 后3行,行数1 2 3 i空格数1 2 3 i星数5 3 1 7-2*i*/ class Test14 {public static void main(String[] a…

小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖

小明开了一家糖果店。他别出心裁&#xff1a;把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。 小朋友来买糖的时候&#xff0c;他就用这两种包装来组合。当然有些糖果数目是无法组合出来的&#xff0c;比如要买 10 颗糖。 你可以用计算机测试一下&#xff0c;在这种包装…