一道逻辑题用java代码写
桌子分别是什么价格一个家具店里有三种桌子,其价格分别如下:(1)他们的单价各不相同;(2)它们的单价加起来共4000元;(3)第二种桌子比第一种桌子便宜400元;(4)第...
桌子分别是什么价格
一个家具店里有三种桌子,其价格分别如下:
(1)他们的单价各不相同;
(2)它们的单价加起来共4000元;
(3)第二种桌子比第一种桌子便宜400元;
(4)第三种桌子的单价是第二种的2倍。
那么这三种桌子的单价各是多少?
用java代码怎么实现啊... 展开
一个家具店里有三种桌子,其价格分别如下:
(1)他们的单价各不相同;
(2)它们的单价加起来共4000元;
(3)第二种桌子比第一种桌子便宜400元;
(4)第三种桌子的单价是第二种的2倍。
那么这三种桌子的单价各是多少?
用java代码怎么实现啊... 展开
3个回答
展开全部
public class Test2 {
public static void main(String[] args) {
int oneDesk;//第一张桌子价格
int twoDesk;//第二张桌子价格
int threeDesk;//第三张桌子价格
for(int i=1;i<4001;i++){//总价是4000,所以第一张桌子价格只能在1和4000之间
oneDesk=i;
twoDesk=oneDesk-400;
threeDesk=twoDesk*2;
if(oneDesk+twoDesk+threeDesk==4000&&twoDesk>0&&threeDesk>0){
System.out.println("第一张桌子的价格"+oneDesk);
System.out.println("第二张桌子的价格:"+twoDesk);
System.out.println("第三张桌子的价格:"+threeDesk);
}
}
}
}
public static void main(String[] args) {
int oneDesk;//第一张桌子价格
int twoDesk;//第二张桌子价格
int threeDesk;//第三张桌子价格
for(int i=1;i<4001;i++){//总价是4000,所以第一张桌子价格只能在1和4000之间
oneDesk=i;
twoDesk=oneDesk-400;
threeDesk=twoDesk*2;
if(oneDesk+twoDesk+threeDesk==4000&&twoDesk>0&&threeDesk>0){
System.out.println("第一张桌子的价格"+oneDesk);
System.out.println("第二张桌子的价格:"+twoDesk);
System.out.println("第三张桌子的价格:"+threeDesk);
}
}
}
}
展开全部
不考虑运行速度的穷举法:
for(int a=1; a<4000; a++) {
for(int b=1; b<4000; b++) {
for(int c=1; c<4000; c++) {
if((a!=b&&a!=c&&b!=c) && (a+b+c==4000) && (b-a==400) && (b*2==c)) {
System.out.println("a="+a+",b="+b+",c="+c);
} else {
continue;
}
}
}
}
结果:a=700,b=1100,c=2200
for(int a=1; a<4000; a++) {
for(int b=1; b<4000; b++) {
for(int c=1; c<4000; c++) {
if((a!=b&&a!=c&&b!=c) && (a+b+c==4000) && (b-a==400) && (b*2==c)) {
System.out.println("a="+a+",b="+b+",c="+c);
} else {
continue;
}
}
}
}
结果:a=700,b=1100,c=2200
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int price1 = 0;//第1个桌子的价格
int price2 = 0;//第2个桌子的价格
int price3 = 0;//第3个桌子的价格
for(int a=1; a<4000; a++) {
if( a + (a - 400) + 2*(a - 400) == 4000 && a - 400 > 0)
{
price1 = a;
price2 = a - 400 ;
price3 = 2*(a - 400);
break;
}
}
int price2 = 0;//第2个桌子的价格
int price3 = 0;//第3个桌子的价格
for(int a=1; a<4000; a++) {
if( a + (a - 400) + 2*(a - 400) == 4000 && a - 400 > 0)
{
price1 = a;
price2 = a - 400 ;
price3 = 2*(a - 400);
break;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |