程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度OJ 題目1072:有多少不同的面值組合?

九度OJ 題目1072:有多少不同的面值組合?

編輯:C++入門知識

[cpp]  /*********************************    *    日期:2013-1-31   *    作者:SJF0115    *    題號: 九度OJ 題目1072:有多少不同的面值組合?   *    來源:http://ac.jobdu.com/problem.php?pid=1072   *    結果:AC    *    來源:2002年清華大學計算機研究生機試真題(第I套)   *    總結:浮點數表示不是精確表示,所以不能對浮點數進行== 和 !=的比較,盡量轉化為整數的比較。              double型會得到錯誤答案98.  **********************************/    #include <stdio.h>    #include <math.h>       int Money[120];      //判斷是否是不同郵資    int Match(int n,float money){       for(int i = 0;i < n;i++){           if(Money[i] == money){               return 1;           }       }       return 0;   }      int main()   {       int i,j,k,count = 0;       int money = 0;       //8角的郵票5張        for(i = 0;i <= 5;i++){           //1元的郵票4張            for(j = 0;j <= 4;j++){               //1元8角的郵票6張                for(k = 0;k <= 6;k++){                   money = i * 8 + j * 10 + k*18;                   //不同郵資                    if(Match(count,money) == 0){                       Money[count] = money;                       count++;                   }               }           }       }       printf("%d\n",count-1);       return 0;   }     /*********************************   *    日期:2013-1-31  *    作者:SJF0115   *    題號: 九度OJ 題目1072:有多少不同的面值組合?  *    來源:http://ac.jobdu.com/problem.php?pid=1072  *    結果:AC   *    來源:2002年清華大學計算機研究生機試真題(第I套)  *    總結:浮點數表示不是精確表示,所以不能對浮點數進行== 和 !=的比較,盡量轉化為整數的比較。             double型會得到錯誤答案98. **********************************/  #include <stdio.h> #include <math.h>   int Money[120];   //判斷是否是不同郵資 int Match(int n,float money){ for(int i = 0;i < n;i++){ if(Money[i] == money){ return 1; } } return 0; }   int main() { int i,j,k,count = 0; int money = 0; //8角的郵票5張 for(i = 0;i <= 5;i++){ //1元的郵票4張 for(j = 0;j <= 4;j++){ //1元8角的郵票6張 for(k = 0;k <= 6;k++){ money = i * 8 + j * 10 + k*18; //不同郵資 if(Match(count,money) == 0){ Money[count] = money; count++; } } } } printf("%d\n",count-1); return 0; }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved