1、三角形定义:a+b>c
2、不是太清楚
3、迭代,从剩余金额中减去最大的面额,如果不够,回溯。

解决方案 »

  1.   

    1、先排序,然后两个小的数的和与大数比较,利用两边之和大于第三边的原理
    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.   

    2、解方程:本金 * (1 + 利息) ^ x = 每月换钱数 * x,解出x即可(提示:两边取对数)
      

  3.   

    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元的张数
      

  4.   

    to thebest123(凌然) :
    不用,因为是两个小边,这都是数学问题,我就不多解释了另外有更简单的解法就是
    在无需排序的情况下
    a+b>c 和 |a-b|<c同时满足就是三角形
      

  5.   

    这些问题都是数学问题.与java入门没关系呀
      

  6.   

    3、
    (100-X)/50=50元的张数
    ((100-X)%50)/10=10元的张数
    (((100-X)%50)%10)/5=5元的张数
    (((100-X)%50)%10)%5=1元的张数
      

  7.   

    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元的张数
      

  8.   

    都回答了,这个同JAVA入门一点关系也没有.只是一些算法.哈..
      

  9.   

    樓主--謝謝大家的熱心.
    列出的三個題目是教程(第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");    }
      }
      

  10.   

    这不是JAVA技术问题, 是数学问题
      

  11.   

    第二题:double m = 1000000*1.008 - 3;
    int n = 1;
    while ( m > 1 )
    {
        m=(m-3)*1.008;
        n++;
    }
    println(n个月);
      

  12.   

    --樓主謝謝樓上 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+" 個月還清");
        }
      }盡管大家告訴我以上是數學題,但這些問題卻成為我入門時的攔路虎,
    基礎差了些,請原諒.
    在學編程中學數學,更容易掌握和鞏固基礎知識,是一個好的鍛練思維的方式,
    更能增進學習的興趣與動力,不是嗎?
    這里的每一位都是我的師傅,懇請各位多指點.請問:不懂的地方實在太多,以後還可以問這類(基礎)問題嗎?