public class Shopping { public static void main(String[] args) { int a,b,c; for(a=1;a<=28;a++) { for(b=1;b<=28;b++) { c=30-a-b; if(50*a+40*b+30*c==1000) System.out.println("a:"+a+" b:"+b+" c:"+c); }
} } }不知道对不对?
结果是对的!请问一下,for循环那里为什么是<=28??
可以 其实a 最大值是19,b最大值是23,只要把其他2个等于1时带进去算下就可以了public class Shopping { public static void main(String[] args) { int a, b, c; for (a = 1; a <= 19; a++) { for (b = 1; b <= 23; b++) { c = 30 - a - b; if (50 * a + 40 * b + 30 * c == 1000) System.out.println("a:" + a + " b:" + b + " c:" + c); } } } }
int a,b,c;
for(a=1;a<=28;a++) {
for(b=1;b<=28;b++) {
c=30-a-b;
if(50*a+40*b+30*c==1000)
System.out.println("a:"+a+" b:"+b+" c:"+c);
}
}
}
}不知道对不对?
可以 其实a 最大值是19,b最大值是23,只要把其他2个等于1时带进去算下就可以了public class Shopping
{ public static void main(String[] args)
{
int a, b, c;
for (a = 1; a <= 19; a++)
{
for (b = 1; b <= 23; b++)
{
c = 30 - a - b;
if (50 * a + 40 * b + 30 * c == 1000)
System.out.println("a:" + a + " b:" + b + " c:" + c);
} }
}
}
a(max) = 1000 - 40 - 30 / 50 =18.6 = 19
b (max) = 1000 - 50 - 30 / 40 = 23