社区
Java SE
帖子详情
技术难题 高手请进
jingweicool
2006-12-18 06:24:08
现有一个技术难题请教各位高手
给你两个数,按8:4或4:8或6:6的比例进行组合(即左边的数+右边的数=12 为1局),请问怎样组合才能组合出最大的局数.
如:90:54这两个数,可以组合出(10个8:4,1个4:8,1个6:6共12局 或 9个8:4,3个6:6共12局).
请不要用嵌套循环来解决.最好用一个公式之类的算出.
...全文
361
21
打赏
收藏
技术难题 高手请进
现有一个技术难题请教各位高手 给你两个数,按8:4或4:8或6:6的比例进行组合(即左边的数+右边的数=12 为1局),请问怎样组合才能组合出最大的局数. 如:90:54这两个数,可以组合出(10个8:4,1个4:8,1个6:6共12局 或 9个8:4,3个6:6共12局). 请不要用嵌套循环来解决.最好用一个公式之类的算出.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jingweicool
2007-01-10
打赏
举报
回复
ding
jingweicool
2007-01-10
打赏
举报
回复
非常感谢csdn的高手
但是问题还是没有解决
用iseeiconquer(smallear)的方法
只能算出两个数的余数同时为0的情况(如:4和8 共1局,8和16共2局等)
不能算出任意一边余数不为零的情况(如:4和9 共1局,4和10 共1局,9和17 共2局)
zj234312
2007-01-09
打赏
举报
回复
for(a<=m/8,b<n<4,a-b=9)
{x=x+1}
最后的x就是你求证的数字
zj234312
2007-01-09
打赏
举报
回复
设两数为m,n
8:4 4:8 6:6分别为,a,b,c
a8+b4+c6=m
a4+b8+c6=n
将上面的数值带入的话
a-b=9的话就可以成立有一个小的条件是a<m/8=90/8=11 b<n/4=54/4=13
用一个for循环的因该很快的
iseeiconquer
2007-01-09
打赏
举报
回复
设这任意2个整数为a,和b即a:b. 并设其可以拆分为x个4:8,y个6:6,z个8:4.则可以得到:
4x+6y+8z=a
8x+6y+4z=b;
2式相加可以得到局数number :
x+y+z=(a+b)/12 (你这个局数无所谓最大,如果存在解,则就已经定了)
也把x看做定值,由上面方程组得到:
y=(2b-a)/6-2x,z=(a-b)/4+x;
这样你只要x从0循环到number就可以得到所有的解,而无须嵌套循环.代码如下:
//功能方法,判断一个浮点型数是否为正的整数(例如3.0是而3.2和-3.0都不是).
public static boolean isZhengInteger(float f){
int intf=(int)f;
Integer intObjf=Integer.valueOf(intf);
float temp=intObjf.floatValue();
if(temp==f && temp>=0){
return true;
}
return false;
}
//主要方法,最后结果保存在一个list里面,list里每一项形式为"xyz"形式,表示x个4:8,
//y个6:6,z个8:4.list的大小表示共有多少种拆分方法.
public static List<String> getResult(int a,int b){
float number=(a+b)/12;
if(!isZhengInteger(number)){
return null;
}
if(a<4 || b<4){
return null;
}
List<String> result=new ArrayList<String>();
float y,z;
for(int x=0;x<=number;x++){
y=(float)(2*b-a)/6-2*x;
z=(float)(a-b)/4+x;
if(isZhengInteger(y) && isZhengInteger(z)){
result.add(""+x+y+z);
}
}
return result;
}
shine333
2007-01-09
打赏
举报
回复
x = 4a + 6b + 8c;
y = 8a + 6b + 4c;
x + y = 12 (a + b + c)
我们要求的就是a + b + c,问题是11:14,1:12什么意思
jingweicool
2007-01-09
打赏
举报
回复
csdn的高手有谁能解决这个问题
给出任意两个数,按8:4或4:8或6:6进行拆分,每一个比例为1局,问怎样拆分才能拆分出最大局数.
如:90:54这两个数,可以拆分出(9个8:4,3个6:6 最大共拆分出12局).
再如:11:14 两个数,可以拆分出(1个4:8,1个6:6 最大共拆分出2局).
再如:1:12 两数,最大局数为0局.
良言相告
2006-12-18
打赏
举报
回复
不用求大值了。。两方程相加就可以求出来了
如果我的方程没列错的话
良言相告
2006-12-18
打赏
举报
回复
x+y+z = (90+54)/12 = 12
良言相告
2006-12-18
打赏
举报
回复
8x + 4y + 6z = 90
4x + 8y + 6z = 54
可转换成求该方程的整数解,最大的局数就是x+y+z的最大值
jingweicool
2006-12-18
打赏
举报
回复
zaiding
jingweicool
2006-12-18
打赏
举报
回复
ding
petit
2006-12-18
打赏
举报
回复
组合排列也不能一条公式表达完亚
jingweicool
2006-12-18
打赏
举报
回复
有哪位高手能解决这个问题?
jingweicool
2006-12-18
打赏
举报
回复
syoumei(砸楼上的窗户,往楼下丢臭鸡蛋) 的解释很正确
jingweicool
2006-12-18
打赏
举报
回复
可能我描述的不大清楚.
就是给出任意两个数,按8:4或4:8或6:6进行拆分,每一个比例为1局,问怎样拆分才能拆分出最大局数.
如:90:54这两个数,可以拆分出(9个8:4,3个6:6 最大共拆分出12局).
再如:11:14 两个数,可以拆分出(1个4:8,1个6:6 最大共拆分出2局).
syoumei
2006-12-18
打赏
举报
回复
我来解释下 嘎嘎。
90:54这两个数,可以组合出(10个8:4,1个4:8,1个6:6共12局 或 9个8:4,3个6:6共12局).
============================================================================
90=80+4+6
54=40+8+6
-----------
10 1 1 =12
jk88811
2006-12-18
打赏
举报
回复
倒, 我也没看懂。。。
jingweicool
2006-12-18
打赏
举报
回复
自己up一下
duoshanx
2006-12-18
打赏
举报
回复
帮你顶!
加载更多回复(1)
C++编程开发学习的50条建议
给C++编程开发学习者的50条建议,总有一些建议让你受益匪浅。
LabVIEW编程技术邪派
高手
之「速成指引」
该《学习速成指引》是希望通过一个网络在线、持续迭代更新的总纲型层次等级指引,便于存放自己从外网搬运回来的知识砖头,从而渐进有序地进行相关资料的收集、分类和汇总,指引和辅助自己的学习笔记输出,且形成知乎回答、文章的汇总目录索引条目,进而给予他人便利指引,最终达到知识共享的目的。单位内部学习交流培训的知识传承要求,单位支持在不涉及商业秘密的条件下,充分利用移动互联网新媒体平台(知乎、网站、知识星球),进行自动化编程知识传承,促进单位员工的软件编程能力水平的提高,有效的支撑科研项目与产品的研发;
顶级技术
高手
在何处
引言计算机技术是一个工程工作,而非一个科学工作,这导致计算机技术天然上限也不太高。当新晋IT人指望着靠学技术实现薪资翻倍时,中高层IT男却默默接受了各种技术瓶颈论和职场无用论。大家觉得...
零基础到渗透测试
高手
,一站式教程详解——看完这篇,精通渗透测试不再是难题!
还记得小杰之前为大家分享过一些关于网络安全自学的关键点,比如“网络安全只有计算机高材生才能学?”“没有名校背景,根本进不了这个行业?”这些疑问。这次,我们阿一将为大家奉上一份更详细深入的学习指南,详细解析网络安全学习的每一个重要环节。从基础到进阶,从理论到实战,帮你彻底搞清楚如何一步步掌握这门技术,最终在网络安全领域中脱颖而出。还在等什么?快跟着我们小杰一起努力学习叭。
【软件开发阶段二】【攻克
技术难题
:保障软件质量与进度】
程序员的一生都在回答一道哲学题:“是要快,还是要好?” 而真相是——老板:“我全都要!你:“好的老板,加钱可以。最后送各位一句保命箴言:“能用自动化解决的绝不手动,能甩锅给工具的绝不甩给人,能写在合同里的绝不信口头承诺。” —— 某匿名程序员。
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章