dream.in.java

          能以不變應萬變是聰明人做事的準則。萬事從小事做起,積累小成功,問鼎大成功,是成功者的秘訣。

          計算某個方法的執行時間

           

           1 package assemblyLanguage;
           2 import java.math.BigInteger;
           3 import java.util.Date;
           4 import java.util.Scanner;
           5 
           6 
           7 public class Add {
           8 
           9     /**
          10      * @param args
          11      * Write a complete 8086 assembly language program to calculate and display the value of the expression:  
          12      * "1 + (2+2) + 3 + (4+4) + 5 + (6+6) + 7 + 9 + (10+10) + 11 ++ N".
          13      *  Notice the fact that the even numbers are added twice. 
          14      *  N should be input from the keyboard. A LOOP structure is required.
          15      *   Use a pseudocode or flowchart to sketch your ideas and plan the overall logic 
          16      *   before you write the program. 
          17      
          18     static int  add(int n)
          19     {
          20         int result = 0;
          21         for(int i = 1; i <= n; i++)
          22         {
          23             int temp = i;
          24             if(temp % 2 == 0)
          25                 {
          26                 temp *=2;
          27                 }
          28             result += temp;
          29                 
          30         }
          31         return result;
          32     }
          33     */
          34     static BigInteger add(BigInteger n) throws Exception
          35     {
          36         BigInteger result = new BigInteger("0"),
          37                     TWO = new BigInteger("2");
          38         BigInteger temp = null;
          39         for(BigInteger i = BigInteger.ONE; i.compareTo(n) <= 0; i=i.add(BigInteger.ONE))
          40         {
          41             temp = i;
          42             if(temp.remainder(TWO).compareTo(BigInteger.ZERO) == 0)
          43                 {
          44                 temp=temp.multiply(TWO);
          45 //                temp=temp.add(temp);
          46                 }
          47             result = result.add(temp);
          48                 
          49         }
          50         return result;
          51     }
          52     public static void main(String[] args) throws Exception {
          53         // TODO 自動生成方法存根
          54         
          55         Scanner reader = new Scanner(System.in);
          56         System.out.print("Please input an integer: ");
          57         BigInteger a = reader.nextBigInteger();
          58         System.out.print("1+(2+2)+3+(4+4)+5++N(N=" + a.toString() + ")= ");
          59         Date date1 = new Date();
          60         System.out.println(add(a).toString());
          61         Date date2 = new Date();
          62         long totalTime = date2.getTime() - date1.getTime();
          63         System.out.println("用時:"+ totalTime+"ms"); 
          64 
          65     }
          66 
          67 }
          68 

           

          posted on 2008-12-20 00:32 YXY 閱讀(672) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 武乡县| 南开区| 垣曲县| 南阳市| 诏安县| 边坝县| 漠河县| 得荣县| 靖远县| 扶余县| 锡林浩特市| 平和县| 邵武市| 舞钢市| 海安县| 邵东县| 昌乐县| 定州市| 漠河县| 留坝县| 桐柏县| 黔东| 修文县| 宁德市| 沿河| 新乡县| 湾仔区| 湘潭县| 沈阳市| 雅安市| 沧州市| 重庆市| 大丰市| 宜良县| 永昌县| 阳泉市| 海城市| 莒南县| 南澳县| 堆龙德庆县| 香河县|