樓主--謝謝大家的熱心. 列出的三個題目是教程(第4章控制結构)的課後習題,因為基礎薄弱,想不出來. 本來還在想著各位大師會不會因為題目太初級了不會解答,出乎意料,非常感謝大家.第1題和第3題在大家的指導下實現了,第2題不知在代碼下如何求解,1.判斷三個數是否為三角形的三邊: //=========Triangle1.java======== //使用排序三個數 public class Triangle1 { public static void main(String args[]) { int a=Integer.parseInt(args[0]); int b=Integer.parseInt(args[1]); int c=Integer.parseInt(args[2]); int t; if (a>b) {t=a; a=b; b=t;} if (b>c) {t=b; b=c; c=t;} //對a,b,c三個數按從小到大排序// if ((a+b)>c) System.out.println("a,b,c是三角形的三個邊"); else System.out.println("a,b,c不是三角形的三個邊"); } } //=========Triangle2.java======== //使用两边和大于第三边和两边差小于第三边 public class Triangle2 { public static void main(String args[]) { int a=Integer.parseInt(args[0]); int b=Integer.parseInt(args[1]); int c=Integer.parseInt(args[2]); if ((a-b)>0) if ((a+b)>c && (a-b)<c) System.out.println("a,b,c是三角形的三個邊"); else System.out.println("a,b,c不是三角形的三個邊"); else if ((b-a)>0) if ((a+b)>c && (b-a)<c) System.out.println("a,b,c是三角形的三個邊"); else System.out.println("a,b,c不是三角形的三個邊"); } }3.百元鈔付款,找回錢幣個數 //================Money1.java================ //設x為價格 public class Money1 { public static void main(String args[]) { int x=Integer.parseInt(args[0]); int fifty,ten,five,one; if (x<100) { fifty=(100-x)/50; ten=((100-x)%50)/10; five=(((100-x)%50)%10)/5; one=(((100-x)%50)%10)%5; System.out.println("價格為: "+x+"元\n"+"付:100元"+"\n"+"找回:\n"+"50元: "+fifty+"張\n"+"10元: "+ten+"張\n"+" 5元: "+five+"張\n"+" 1元: "+one+"張\n");
} else System.out.println("Input data out "); } } //================Money2.java================ //設x為找回的錢 public class Money2 { public static void main(String args[]) { int y=Integer.parseInt(args[0]); int x,fifty,ten,five,one; x=100-y; //計算應找回的錢幣個數 fifty=x/50; ten=(x-50*fifty)/10; five=(x-50*fifty-10*ten)/5; one=(x-50*fifty-10*ten-5*five); System.out.println("價格為: "+y+"元\n"+"付:100元"+"\n"+"找回: "+x+"元"+\n"+"50元: "+fifty+"張\n"+"10元: "+ten+"張\n"+" 5元: "+five+"張\n"+" 1元: "+one+"張\n"); } }
这不是JAVA技术问题, 是数学问题
第二题:double m = 1000000*1.008 - 3; int n = 1; while ( m > 1 ) { m=(m-3)*1.008; n++; } println(n个月);
--樓主謝謝樓上 vongood((my c++)) 2.還貸款問題 //=========Loan.java======= public class Loan { public static void main(args[]) { double m=1000000*1.008-30000; //定義m為第一個月還3万剩余的要還的數 int n=1; //已還過第1個月 while (m>1) //全部還完即m<=0跳出循環 { m=(m-30000)*1.008; //每月還過後的數,還須算上利息 n++; //計數第n月已還過 } System.out.println(n+" 個月還清"); } }盡管大家告訴我以上是數學題,但這些問題卻成為我入門時的攔路虎, 基礎差了些,請原諒. 在學編程中學數學,更容易掌握和鞏固基礎知識,是一個好的鍛練思維的方式, 更能增進學習的興趣與動力,不是嗎? 這里的每一位都是我的師傅,懇請各位多指點.請問:不懂的地方實在太多,以後還可以問這類(基礎)問題嗎?
2、100×1.008=3×1.008^(n-1)+3×1.008^(n-2)+……+3×1.008+3(N就是你要的月数)
3、
(100-X)/50=50元的张数
((100-X)%50)/10=10元的张数
(((100-X)%50)%10)/5=5元的张数
(((100-X)%50)%10)%5=1元的张数
2、100×1.008^n=3×1.008^(n-1)+3×1.008^(n-2)+……+3×1.008+3(N就是你要的月数)
3、
(100-X)/50=50元的张数
((100-X)%50)/10=10元的张数
(((100-X)%50)%10)/5=5元的张数
(((100-X)%50)%10)%5=1元的张数
不用,因为是两个小边,这都是数学问题,我就不多解释了另外有更简单的解法就是
在无需排序的情况下
a+b>c 和 |a-b|<c同时满足就是三角形
(100-X)/50=50元的张数
((100-X)%50)/10=10元的张数
(((100-X)%50)%10)/5=5元的张数
(((100-X)%50)%10)%5=1元的张数
2、复利就是说本金加上这个月的利息的和,相当于下个月的本金,也就是利滚利。比如你现在的利息是8厘,过3个月你所要还的钱就是本金*((1+利息)的3次方)
3、设x为应找回的钱,
x/50取整=50元的张数,设为a
(x-50*a)/10取整=10元的张数,设为b
(x-50*a-10*b)/5取整=5元的张数,设为c
x-50*a-10*b-5*c=1元的张数
列出的三個題目是教程(第4章控制結构)的課後習題,因為基礎薄弱,想不出來.
本來還在想著各位大師會不會因為題目太初級了不會解答,出乎意料,非常感謝大家.第1題和第3題在大家的指導下實現了,第2題不知在代碼下如何求解,1.判斷三個數是否為三角形的三邊:
//=========Triangle1.java========
//使用排序三個數
public class Triangle1
{
public static void main(String args[])
{
int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);
int c=Integer.parseInt(args[2]);
int t;
if (a>b)
{t=a; a=b; b=t;}
if (b>c)
{t=b; b=c; c=t;} //對a,b,c三個數按從小到大排序//
if ((a+b)>c)
System.out.println("a,b,c是三角形的三個邊");
else
System.out.println("a,b,c不是三角形的三個邊");
}
}
//=========Triangle2.java========
//使用两边和大于第三边和两边差小于第三边
public class Triangle2
{
public static void main(String args[])
{
int a=Integer.parseInt(args[0]);
int b=Integer.parseInt(args[1]);
int c=Integer.parseInt(args[2]); if ((a-b)>0)
if ((a+b)>c && (a-b)<c)
System.out.println("a,b,c是三角形的三個邊");
else
System.out.println("a,b,c不是三角形的三個邊");
else if ((b-a)>0)
if ((a+b)>c && (b-a)<c)
System.out.println("a,b,c是三角形的三個邊");
else
System.out.println("a,b,c不是三角形的三個邊");
}
}3.百元鈔付款,找回錢幣個數
//================Money1.java================
//設x為價格
public class Money1
{
public static void main(String args[])
{
int x=Integer.parseInt(args[0]);
int fifty,ten,five,one; if (x<100)
{
fifty=(100-x)/50;
ten=((100-x)%50)/10;
five=(((100-x)%50)%10)/5;
one=(((100-x)%50)%10)%5; System.out.println("價格為: "+x+"元\n"+"付:100元"+"\n"+"找回:\n"+"50元: "+fifty+"張\n"+"10元: "+ten+"張\n"+" 5元: "+five+"張\n"+" 1元: "+one+"張\n");
}
else System.out.println("Input data out ");
}
}
//================Money2.java================
//設x為找回的錢
public class Money2
{
public static void main(String args[])
{
int y=Integer.parseInt(args[0]);
int x,fifty,ten,five,one;
x=100-y;
//計算應找回的錢幣個數
fifty=x/50;
ten=(x-50*fifty)/10;
five=(x-50*fifty-10*ten)/5;
one=(x-50*fifty-10*ten-5*five); System.out.println("價格為: "+y+"元\n"+"付:100元"+"\n"+"找回: "+x+"元"+\n"+"50元: "+fifty+"張\n"+"10元: "+ten+"張\n"+" 5元: "+five+"張\n"+" 1元: "+one+"張\n"); }
}
int n = 1;
while ( m > 1 )
{
m=(m-3)*1.008;
n++;
}
println(n个月);
//=========Loan.java=======
public class Loan
{
public static void main(args[])
{
double m=1000000*1.008-30000; //定義m為第一個月還3万剩余的要還的數
int n=1; //已還過第1個月
while (m>1) //全部還完即m<=0跳出循環
{
m=(m-30000)*1.008; //每月還過後的數,還須算上利息
n++; //計數第n月已還過
}
System.out.println(n+" 個月還清");
}
}盡管大家告訴我以上是數學題,但這些問題卻成為我入門時的攔路虎,
基礎差了些,請原諒.
在學編程中學數學,更容易掌握和鞏固基礎知識,是一個好的鍛練思維的方式,
更能增進學習的興趣與動力,不是嗎?
這里的每一位都是我的師傅,懇請各位多指點.請問:不懂的地方實在太多,以後還可以問這類(基礎)問題嗎?