136 - Ugly Numbers

UVa網站題目連結
My Solved Problems Performance

Ugly numbers are numbers whose only prime factors are 2, 3 or 5. The sequence

1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15, ...

shows the first 11 ugly numbers. By convention, 1 is included.

Write a program to find and print the 1500'th ugly number.

Input and Output

There is no input to this program. Output should consist of a single line as shown below, with replaced by the number computed.

Sample output

The 1500'th ugly number is <number>.

Solution

  1. public class Main {

  2. public static void main (String[] args) {

  3. int size = 1500;

  4. int counter = 1;
  5. int result = 0;
  6. for (int i=2; counter<size; i++) {
  7. int x = i;

  8. while ((x%5==0)) {
  9. x/=5;
  10. };
  11. while ((x%3==0)) {
  12. x/=3;
  13. };
  14. while ((x%2==0)) {
  15. x/=2;
  16. };

  17. if (x==1) {
  18. counter++;
  19. }
  20. if (counter == size) result = i;
  21. }
  22. System.out.println("The 1500'th ugly number is " + result + ".");
  23. // The 1500'th ugly number is 859963392.
  24. }
  25. }

關鍵字:UVa Online Judge, ACM. Java


留言

相關文章

這個網誌中的熱門文章

【玉山U Bear卡】2019必辦神卡!網購5%超商8%電影20%!

【證件遺失補辦】身分證/健保卡/駕照/行照/信用卡總整理

【玉山卡攻略】神卡雲集,依序辦卡拿新舊戶首刷最佳解!

【地價稅繳納攻略】2019/108年度信用卡回饋/分期整理!

【信用卡排行榜】最新現金回饋信用卡排行榜(含2020可用)!

【博客來折價券】博客來免費序號e-coupon分享(持續更新)

【全家FamiPay】新光寰宇10%/玉山UBear 8%/台新Fish 8%!

【永豐大戶DAWHO】現金回饋信用卡國內2%國外3%最高8%!

【聯邦+LINE一卡通2%】不必自己算!繳費條碼產生器上線!

【統一發票】獎金儲值加碼,7-11送中熱美/全聯享贈點!