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


相關文章

這個網誌中的熱門文章

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

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

【多益成績】TOEIC多益成績分數查詢、計算標準與換算對照表

【街口支付】春節現金大回饋,全通路隨機返現最高100%拿8888!

【台新@GoGo】一般消費1.5%網購3.5%!行動支付/保費同享優惠密技!

【銀行代碼查詢】3碼銀行代碼列表、7碼分行代碼查詢

【國泰KOKO COMBO icash】2019權益更新!網購/超商/交通5%回饋!(需當月消費5000)

【華南新卡友獨享】i網購生活卡2019網購+行動支付5%神卡!(最高6%)

【符碼刷卡報】超商消費繳費懶人包+優惠總整理

台北-中壢國道客運/公車路線整理(1818, 2022, 9001, 9025)