如何写出一个高效率的程序?? 有一个旅游团大人小孩共30人,在一家饭店吃饭共花了50元,其中每个小孩吃饭是1元,男的吃饭是3元,女人吃饭是2元,写一个java 程序求出男人,女人,小孩各有多少人??希望指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 class Test { public static void main(String[] args){ long t = System.currentTimeMillis(); for (int i = 0; i <= 30 ; i++){ for (int j = 0; j <= 30 - i ; j++ ){ for (int k = 0; k <= 30 - j ; k++ ){ if (i*3+j*2+k == 50 && i+j+k == 30){ System.out.println(i + "男人 " + j +"女人 " + k + "小孩"); } } } } long tt = System.currentTimeMillis() - t; System.out.println( tt + "毫秒"); }} for (int k = 0; k <= 30 - j ; k++ ){应该改为for (int k = 0; k <= 30 - j - i; k++ )这样更快可我运行的结果还是0毫秒 IT菜鸟大哥给出的算法复杂度大了点吧。for (int i = 0; i <= 50/3 ; i++){ for (int j = 0; j <= 30 - i ; j++ ){ k=30-i-j; if(i*3+j*2+k==50) System.out.println(i + "男人 " + j +"女人 " + k + "小孩"); }}这样改好一点,但也不是很理想,等高手来指正。 long t = System.currentTimeMillis();这句有什么作用?????????? long t = System.currentTimeMillis() 是取系统当前时间(毫秒数)程序运行开始时间 - 程序运行结束时间 = 程序耗时(毫秒数) java中比较运算符==疑问 求救:使用spring的JdbcTemplate执行batchUpdate时出现数组越界 各位帮小弟个忙 写2个小程序 急用 先谢谢了 没事干,发个面试题,搞不懂,谁能解释一下 一个服务器初始化信息不能显示的界面问题,可以直接运行,就是信息不显示出来…… 求图片优化或压缩包 一个List对象能直接存入数据库吗? 如何使用javadoc呢??? 一个读取属性文件的问题 各位有经验的朋友:请问Orbix 2000 Applet客户端的编写与配置 请问广州java程序员(应届)工资估计是多少? SQL 2000连接问题!
{
public static void main(String[] args){
long t = System.currentTimeMillis();
for (int i = 0; i <= 30 ; i++){
for (int j = 0; j <= 30 - i ; j++ ){
for (int k = 0; k <= 30 - j ; k++ ){
if (i*3+j*2+k == 50 && i+j+k == 30){
System.out.println(i + "男人 " + j +"女人 " + k + "小孩");
}
}
}
}
long tt = System.currentTimeMillis() - t;
System.out.println( tt + "毫秒");
}
}
应该改为for (int k = 0; k <= 30 - j - i; k++ )
这样更快可我运行的结果还是0毫秒
for (int i = 0; i <= 50/3 ; i++){
for (int j = 0; j <= 30 - i ; j++ ){
k=30-i-j;
if(i*3+j*2+k==50)
System.out.println(i + "男人 " + j +"女人 " + k + "小孩");
}
}
这样改好一点,但也不是很理想,等高手来指正。
程序运行开始时间 - 程序运行结束时间 = 程序耗时(毫秒数)