1. 先在網頁編輯那拉工具。
- Jan 27 Mon 2020 02:09
網頁型簡易計算機
- Feb 17 Sat 2018 00:32
停車費計算(分段計費)
- 某停車場費率如下,試設計一程式計算費率(分段計費): 2小時以內,每半小時30元 超過2小時未滿4小時,每半小時40元 超過4小時以上,每半小時60元 未滿半小時部分不計費
public class P4_8_1 { public static void main(String[] args) {
// 設定開始停車時間(分) int start = 10 * 60 + 23;
// 設定結束停車時間(分) int end = 10 * 15 + 20;
// 計算停車總時間(分) // 結束時間-開始時間即為停車時間 int time = start - end;
// 停車總時間除以60即為時數 int hour = time / 60;
// 停車總時間除以60取餘數即為分數 int min = time % 60; int sum = 0;
// 半小時為一個計算單位 // time總時間除以30分鐘若小於等於4個單位 // 以每單位30元計費,將結果指定給sum if (time / 30 <= 4) { sum = (time / 30) * 30; }
// 半小時為一個計算單位 // time總時間除以30分鐘若大於4個單位,小於等於8個單位 // 4個單位以下(含)每單位30元計費 // time總時間除以30減掉4後以每單位40元計費 // 將兩者相加後指定給sum if (time / 30 <= 8 & time / 30 > 4) { sum = (4 * 30) + (((time / 30) - 4) * 40); }
// 半小時為一個計算單位 // time總時間除以30分鐘若大於8個單位 // 4個單位(含)以下每單位30元計費 // 5-8個(含)以下以每單位40元計費 // time總時間除以30減掉8後以每單位60元計費 // 將三者相加後指定給sum if (time / 30 > 8) { sum = (4 * 30) + (4 * 40) + (((time / 30) - 8) * 60); }
System.out.printf("您好,您於早上10點23分開始停車,至下午3點20分離 開,\n共停了 %d 小時 %d 分鐘,", hour, min); System.out.printf("總共 %d 元,謝謝!", sum); }}
- 輸出結果(分段計費):
您好,您於早上10點23分開始停車,至下午3點20分離開,
共停了 7 小時 33 分鐘,總共 700 元,謝謝!
- Feb 17 Sat 2018 00:19
停車費計算(不分段計費)
- 某停車場費率如下,試設計一程式計算費率(不分段計費): 2小時以內,每半小時30元 超過2小時未滿4小時,每半小時40元 超過4小時以上,每半小時60元 未滿半小時部分不計費
public class P4_8 { public static void main(String[] args) {
// 設定開始停車時間(分) int start = 10 * 60 + 23;
// 設定結束停車時間(分) int end = 10 * 15 + 20;
// 計算停車總時間(分) // 結束時間-開始時間即為停車時間 int time = start - end;
// 停車總時間除以60即為時數 int hour = time / 60;
// 停車總時間除以60取餘數即為剩餘分數 int min = time % 60; int sum = 0;
// 半小時為一個計算單位 // time總時間除以30分鐘若小於等於4個單位 // 以每單位30元計費,將結果指定給sum if (time / 30 <= 4) { sum = (time / 30) * 30; }
// 半小時為一個計算單位 // time總時間除以30分鐘若大於4個單位,小於等於8個單位 // 以每單位40元計費,將結果指定給sum if (time / 30 <= 8 & time / 30 > 4) { sum = (time / 30) * 40; }
// 半小時為一個計算單位 // time總時間除以30分鐘若大於8個單位 // 以每單位60元計費,將結果指定給sum if (time / 30 > 8) { sum = (time / 30) * 60; }
System.out.printf("您好,您於早上10點23分開始停車,至下午3點20分離
開,\n總共停了 %d 小時 %d 分鐘", hour, min); System.out.printf("總共 %d 元,謝謝!", sum); }}
- 輸出結果(不分段計費):
您好,您於早上10點23分開始停車,至下午3點20分離開,共停了 7 小時 33 分鐘,總共 900 元,謝謝!
- Feb 16 Fri 2018 22:26
雞兔各有幾隻?
- 籠子裡有雞兔,只知道共有26隻腳,8個頭,求雞兔各有幾隻?
import java.util.Scanner;public class P4_7 { public static void main(String[] args) {
Scanner scn = new Scanner(System.in); System.out.println("請輸入共有幾隻腳?"); int foot = scn.nextInt(); System.out.println("輕輸入共有幾個頭?"); int head = scn.nextInt();
// 利用for迴圈將可能的雞兔組合都測試過一次 // 答案只有一個,只有符合總腳隻數量之雞兔組合才正確 for (int i = 1; i < head; i++) { if (((i * 4) + ((head - i) * 2)) == foot) { System.out.printf("兔子有 %d 隻,小雞有 %d 隻", i, (head - i)); } } scn.close(); }}
- 輸出結果(這裡需要輸入是程式可作為解題用):
請輸入共有幾隻腳?26輕輸入共有幾個頭?8兔子有 5 隻,小雞有 3 隻
- Feb 16 Fri 2018 22:07
同時兩地出發,何時相遇?
- Feb 16 Fri 2018 15:49
幣數最少組合S2
- 火車站之自動售票機接受50元、10元、5元、1元的硬幣,試寫出一個程式,算出購買127元之車票時,所需投入幣數最少之組合及其數量(速算法)。
import java.util.Scanner;public class P4_1 { public static void main(String[] args) {
/* * 金額縮到50元來說明會比較簡單些, 硬幣總類也先縮減到10元、5元、1元三種, 組合方程式為 * 10X+5Y+Z=50,可能的組合會有(x,y,x): (5,0,0)=5 (4,2,0)=6 (3,4,0)=7 (2,6,0)=8 * (1,8,0)=9 (4,1,5)=10 (0,10,0)=10 (3,3,5)=11 (2,5,5)=12 (1,7,5)=13 (0,9,5)=14 * (3,2,10)=15 (2,4,10)=16 (1,6,10)=17 (0,8,10)=18 (3,1,15)=19 (2,3,15)=20 * (1,5,15)=21 (0,7,15)=22 (3,0,20)=23 (2,2,20)=24 (1,4,20)=25 (0,6,20)=26 * (2,1,25)=28 (1,3,25)=29 (0,5,25)=30 (2,0,30)=32 (1,2,30)=33 (0,4,30)=34 * (1,1,35)=37 (0,3,35)=38 (1,0,40)=41 (0,2,40)=42 (0,1,45)=46 (0,0,50)=50 * * 從組合可看出一現象,1元硬幣所佔比重愈大時,總幣數增加, * 反之,10元硬幣所佔比重愈大時,總幣數減少, * 所以並不需要每個組合都去驗證,先將幣數分配給最大幣值之硬幣, * 剩餘之數再分配各次大幣值之硬幣,依此類推,即可找出最少幣數之組合。 * 此方法結果和用for迴圈一樣,缺點是無法逐一印出全部符合之組合 */ int coin50n, coin10n, coin5n, coin1n; coin50n = coin10n = coin5n = coin1n = 0; Scanner scn = new Scanner(System.in); System.out.println("請輸入要計算的金額:"); int amount = scn.nextInt();
// 如果amount大於等於50,將amount除以50後之商指定給coin50n // 將amount除以50取餘數指定給amount,如57/50=1...7, // 1指定給coin50n, 代表50元之硬幣數為1個,7指定給amount if (amount >= 50) { coin50n = amount / 50; amount = amount % 50; }
// 經重新指定之amount如大於等於10 // 將amount除以10之商指定給coin10n,餘數指定給amount if (amount >= 10) { coin10n = amount / 10; amount = amount % 10; }
// 經重新指定之amount如大於等於5 // 將amount除以5之商指定給coin5n,餘數指定給amount if (amount >= 5) { coin5n = amount / 5; amount = amount % 5; }
// 剩餘之amount即為1元硬幣之數 coin1n = amount;
System.out.printf("最小數量組合為:\n50元硬幣%d個\n10元硬幣%d個\n5元硬幣%d個\n1元硬幣%d個\n", coin50n, coin10n, coin5n, coin1n); System.out.println("硬幣總共" + (coin50n + coin10n + coin5n + coin1n) + "個"); scn.close(); }}
- 輸出結果:
請輸入要計算的金額:127最小數量組合為:50元硬幣2個10元硬幣2個5元硬幣1個1元硬幣2個硬幣總共7個
- Feb 16 Fri 2018 15:37
幣數最少組合S1
- 火車站之自動售票機接受50元、10元、5元、1元的硬幣,試寫出一個程式,算出購買127元之車票時,所需投入幣數最少之組合及其數量。
import java.util.Scanner;public class P4_1_1 { public static void main(String[] args) {
Scanner scn = new Scanner(System.in); System.out.println("請輸入要計算的金額:"); int amount = scn.nextInt(); int c50n, c10n, c5n, c1n, sum = amount; c50n = c10n = c5n = c1n = 0;
System.out.println("符合之組合有:\n");
// 利用for迴圈,將所有組合列出來
// 50元硬幣之最大可能數,amount除以50之商 for (int i = 0; i <= (amount / 50); i++) {
// 10元硬幣之最大可能數,amount除以10之商 for (int j = 0; j <= (amount / 10); j++) {
// 5元硬幣之最大可能數,amount除以50之商 for (int k = 0; k <= (amount / 5); k++) {
// 1元硬幣之最大可能數,amount除以1之商 for (int l = 0; l <= (amount / 1); l++) {
// 組合之值必須等於amount才是我們要找的組合 if ((50 * i + 10 * j + 5 * k + l) == amount) {
// 印出符合之組合 System.out.printf("( %d , %d , %d , %d )= %d\n", i, j, k, l, (i + j + k + l));
// 將符合之組合裡總幣數最少之組合,各幣值個數記錄下來 if (sum >= (i + j + k + l)) { sum = (i + j + k + l); c50n = i; c10n = j; c5n = k; c1n = l; } } } } } } System.out.println(); //印出幣數最少之組合 System.out.printf("最少硬幣組合為:\n( %d , %d , %d , %d )= %d\n", c50n, c10n, c5n, c1n, (c50n + c10n + c5n + c1n)); System.out.printf("50元硬幣%2d個\n10元硬幣%2d個\n 5元硬幣%2d個\n 1元硬幣%2d個\n總計%d元", c50n, c10n, c5n, c1n,(50 * c50n + 10 * c10n + 5 * c5n + c1n)); scn.close(); }}
- 輸出結果:
請輸入要計算的金額:127符合之組合有:
( 0 , 0 , 0 , 127 )= 127( 0 , 0 , 1 , 122 )= 123( 0 , 0 , 2 , 117 )= 119( 0 , 0 , 3 , 112 )= 115( 0 , 0 , 4 , 107 )= 111( 0 , 0 , 5 , 102 )= 107( 0 , 0 , 6 , 97 )= 103( 0 , 0 , 7 , 92 )= 99( 0 , 0 , 8 , 87 )= 95( 0 , 0 , 9 , 82 )= 91( 0 , 0 , 10 , 77 )= 87( 0 , 0 , 11 , 72 )= 83( 0 , 0 , 12 , 67 )= 79( 0 , 0 , 13 , 62 )= 75( 0 , 0 , 14 , 57 )= 71( 0 , 0 , 15 , 52 )= 67( 0 , 0 , 16 , 47 )= 63( 0 , 0 , 17 , 42 )= 59( 0 , 0 , 18 , 37 )= 55( 0 , 0 , 19 , 32 )= 51( 0 , 0 , 20 , 27 )= 47( 0 , 0 , 21 , 22 )= 43( 0 , 0 , 22 , 17 )= 39( 0 , 0 , 23 , 12 )= 35( 0 , 0 , 24 , 7 )= 31( 0 , 0 , 25 , 2 )= 27( 0 , 1 , 0 , 117 )= 118( 0 , 1 , 1 , 112 )= 114( 0 , 1 , 2 , 107 )= 110( 0 , 1 , 3 , 102 )= 106( 0 , 1 , 4 , 97 )= 102( 0 , 1 , 5 , 92 )= 98( 0 , 1 , 6 , 87 )= 94( 0 , 1 , 7 , 82 )= 90( 0 , 1 , 8 , 77 )= 86( 0 , 1 , 9 , 72 )= 82( 0 , 1 , 10 , 67 )= 78( 0 , 1 , 11 , 62 )= 74( 0 , 1 , 12 , 57 )= 70( 0 , 1 , 13 , 52 )= 66( 0 , 1 , 14 , 47 )= 62( 0 , 1 , 15 , 42 )= 58( 0 , 1 , 16 , 37 )= 54( 0 , 1 , 17 , 32 )= 50( 0 , 1 , 18 , 27 )= 46( 0 , 1 , 19 , 22 )= 42( 0 , 1 , 20 , 17 )= 38( 0 , 1 , 21 , 12 )= 34( 0 , 1 , 22 , 7 )= 30( 0 , 1 , 23 , 2 )= 26( 0 , 2 , 0 , 107 )= 109( 0 , 2 , 1 , 102 )= 105( 0 , 2 , 2 , 97 )= 101( 0 , 2 , 3 , 92 )= 97( 0 , 2 , 4 , 87 )= 93( 0 , 2 , 5 , 82 )= 89( 0 , 2 , 6 , 77 )= 85( 0 , 2 , 7 , 72 )= 81( 0 , 2 , 8 , 67 )= 77( 0 , 2 , 9 , 62 )= 73( 0 , 2 , 10 , 57 )= 69( 0 , 2 , 11 , 52 )= 65( 0 , 2 , 12 , 47 )= 61( 0 , 2 , 13 , 42 )= 57( 0 , 2 , 14 , 37 )= 53( 0 , 2 , 15 , 32 )= 49( 0 , 2 , 16 , 27 )= 45( 0 , 2 , 17 , 22 )= 41( 0 , 2 , 18 , 17 )= 37( 0 , 2 , 19 , 12 )= 33( 0 , 2 , 20 , 7 )= 29( 0 , 2 , 21 , 2 )= 25( 0 , 3 , 0 , 97 )= 100( 0 , 3 , 1 , 92 )= 96( 0 , 3 , 2 , 87 )= 92( 0 , 3 , 3 , 82 )= 88( 0 , 3 , 4 , 77 )= 84( 0 , 3 , 5 , 72 )= 80( 0 , 3 , 6 , 67 )= 76( 0 , 3 , 7 , 62 )= 72( 0 , 3 , 8 , 57 )= 68( 0 , 3 , 9 , 52 )= 64( 0 , 3 , 10 , 47 )= 60( 0 , 3 , 11 , 42 )= 56( 0 , 3 , 12 , 37 )= 52( 0 , 3 , 13 , 32 )= 48( 0 , 3 , 14 , 27 )= 44( 0 , 3 , 15 , 22 )= 40( 0 , 3 , 16 , 17 )= 36( 0 , 3 , 17 , 12 )= 32( 0 , 3 , 18 , 7 )= 28( 0 , 3 , 19 , 2 )= 24( 0 , 4 , 0 , 87 )= 91( 0 , 4 , 1 , 82 )= 87( 0 , 4 , 2 , 77 )= 83( 0 , 4 , 3 , 72 )= 79( 0 , 4 , 4 , 67 )= 75( 0 , 4 , 5 , 62 )= 71( 0 , 4 , 6 , 57 )= 67( 0 , 4 , 7 , 52 )= 63( 0 , 4 , 8 , 47 )= 59( 0 , 4 , 9 , 42 )= 55( 0 , 4 , 10 , 37 )= 51( 0 , 4 , 11 , 32 )= 47( 0 , 4 , 12 , 27 )= 43( 0 , 4 , 13 , 22 )= 39( 0 , 4 , 14 , 17 )= 35( 0 , 4 , 15 , 12 )= 31( 0 , 4 , 16 , 7 )= 27( 0 , 4 , 17 , 2 )= 23( 0 , 5 , 0 , 77 )= 82( 0 , 5 , 1 , 72 )= 78( 0 , 5 , 2 , 67 )= 74( 0 , 5 , 3 , 62 )= 70( 0 , 5 , 4 , 57 )= 66( 0 , 5 , 5 , 52 )= 62( 0 , 5 , 6 , 47 )= 58( 0 , 5 , 7 , 42 )= 54( 0 , 5 , 8 , 37 )= 50( 0 , 5 , 9 , 32 )= 46( 0 , 5 , 10 , 27 )= 42( 0 , 5 , 11 , 22 )= 38( 0 , 5 , 12 , 17 )= 34( 0 , 5 , 13 , 12 )= 30( 0 , 5 , 14 , 7 )= 26( 0 , 5 , 15 , 2 )= 22( 0 , 6 , 0 , 67 )= 73( 0 , 6 , 1 , 62 )= 69( 0 , 6 , 2 , 57 )= 65( 0 , 6 , 3 , 52 )= 61( 0 , 6 , 4 , 47 )= 57( 0 , 6 , 5 , 42 )= 53( 0 , 6 , 6 , 37 )= 49( 0 , 6 , 7 , 32 )= 45( 0 , 6 , 8 , 27 )= 41( 0 , 6 , 9 , 22 )= 37( 0 , 6 , 10 , 17 )= 33( 0 , 6 , 11 , 12 )= 29( 0 , 6 , 12 , 7 )= 25( 0 , 6 , 13 , 2 )= 21( 0 , 7 , 0 , 57 )= 64( 0 , 7 , 1 , 52 )= 60( 0 , 7 , 2 , 47 )= 56( 0 , 7 , 3 , 42 )= 52( 0 , 7 , 4 , 37 )= 48( 0 , 7 , 5 , 32 )= 44( 0 , 7 , 6 , 27 )= 40( 0 , 7 , 7 , 22 )= 36( 0 , 7 , 8 , 17 )= 32( 0 , 7 , 9 , 12 )= 28( 0 , 7 , 10 , 7 )= 24( 0 , 7 , 11 , 2 )= 20( 0 , 8 , 0 , 47 )= 55( 0 , 8 , 1 , 42 )= 51( 0 , 8 , 2 , 37 )= 47( 0 , 8 , 3 , 32 )= 43( 0 , 8 , 4 , 27 )= 39( 0 , 8 , 5 , 22 )= 35( 0 , 8 , 6 , 17 )= 31( 0 , 8 , 7 , 12 )= 27( 0 , 8 , 8 , 7 )= 23( 0 , 8 , 9 , 2 )= 19( 0 , 9 , 0 , 37 )= 46( 0 , 9 , 1 , 32 )= 42( 0 , 9 , 2 , 27 )= 38( 0 , 9 , 3 , 22 )= 34( 0 , 9 , 4 , 17 )= 30( 0 , 9 , 5 , 12 )= 26( 0 , 9 , 6 , 7 )= 22( 0 , 9 , 7 , 2 )= 18( 0 , 10 , 0 , 27 )= 37( 0 , 10 , 1 , 22 )= 33( 0 , 10 , 2 , 17 )= 29( 0 , 10 , 3 , 12 )= 25( 0 , 10 , 4 , 7 )= 21( 0 , 10 , 5 , 2 )= 17( 0 , 11 , 0 , 17 )= 28( 0 , 11 , 1 , 12 )= 24( 0 , 11 , 2 , 7 )= 20( 0 , 11 , 3 , 2 )= 16( 0 , 12 , 0 , 7 )= 19( 0 , 12 , 1 , 2 )= 15( 1 , 0 , 0 , 77 )= 78( 1 , 0 , 1 , 72 )= 74( 1 , 0 , 2 , 67 )= 70( 1 , 0 , 3 , 62 )= 66( 1 , 0 , 4 , 57 )= 62( 1 , 0 , 5 , 52 )= 58( 1 , 0 , 6 , 47 )= 54( 1 , 0 , 7 , 42 )= 50( 1 , 0 , 8 , 37 )= 46( 1 , 0 , 9 , 32 )= 42( 1 , 0 , 10 , 27 )= 38( 1 , 0 , 11 , 22 )= 34( 1 , 0 , 12 , 17 )= 30( 1 , 0 , 13 , 12 )= 26( 1 , 0 , 14 , 7 )= 22( 1 , 0 , 15 , 2 )= 18( 1 , 1 , 0 , 67 )= 69( 1 , 1 , 1 , 62 )= 65( 1 , 1 , 2 , 57 )= 61( 1 , 1 , 3 , 52 )= 57( 1 , 1 , 4 , 47 )= 53( 1 , 1 , 5 , 42 )= 49( 1 , 1 , 6 , 37 )= 45( 1 , 1 , 7 , 32 )= 41( 1 , 1 , 8 , 27 )= 37( 1 , 1 , 9 , 22 )= 33( 1 , 1 , 10 , 17 )= 29( 1 , 1 , 11 , 12 )= 25( 1 , 1 , 12 , 7 )= 21( 1 , 1 , 13 , 2 )= 17( 1 , 2 , 0 , 57 )= 60( 1 , 2 , 1 , 52 )= 56( 1 , 2 , 2 , 47 )= 52( 1 , 2 , 3 , 42 )= 48( 1 , 2 , 4 , 37 )= 44( 1 , 2 , 5 , 32 )= 40( 1 , 2 , 6 , 27 )= 36( 1 , 2 , 7 , 22 )= 32( 1 , 2 , 8 , 17 )= 28( 1 , 2 , 9 , 12 )= 24( 1 , 2 , 10 , 7 )= 20( 1 , 2 , 11 , 2 )= 16( 1 , 3 , 0 , 47 )= 51( 1 , 3 , 1 , 42 )= 47( 1 , 3 , 2 , 37 )= 43( 1 , 3 , 3 , 32 )= 39( 1 , 3 , 4 , 27 )= 35( 1 , 3 , 5 , 22 )= 31( 1 , 3 , 6 , 17 )= 27( 1 , 3 , 7 , 12 )= 23( 1 , 3 , 8 , 7 )= 19( 1 , 3 , 9 , 2 )= 15( 1 , 4 , 0 , 37 )= 42( 1 , 4 , 1 , 32 )= 38( 1 , 4 , 2 , 27 )= 34( 1 , 4 , 3 , 22 )= 30( 1 , 4 , 4 , 17 )= 26( 1 , 4 , 5 , 12 )= 22( 1 , 4 , 6 , 7 )= 18( 1 , 4 , 7 , 2 )= 14( 1 , 5 , 0 , 27 )= 33( 1 , 5 , 1 , 22 )= 29( 1 , 5 , 2 , 17 )= 25( 1 , 5 , 3 , 12 )= 21( 1 , 5 , 4 , 7 )= 17( 1 , 5 , 5 , 2 )= 13( 1 , 6 , 0 , 17 )= 24( 1 , 6 , 1 , 12 )= 20( 1 , 6 , 2 , 7 )= 16( 1 , 6 , 3 , 2 )= 12( 1 , 7 , 0 , 7 )= 15( 1 , 7 , 1 , 2 )= 11( 2 , 0 , 0 , 27 )= 29( 2 , 0 , 1 , 22 )= 25( 2 , 0 , 2 , 17 )= 21( 2 , 0 , 3 , 12 )= 17( 2 , 0 , 4 , 7 )= 13( 2 , 0 , 5 , 2 )= 9( 2 , 1 , 0 , 17 )= 20( 2 , 1 , 1 , 12 )= 16( 2 , 1 , 2 , 7 )= 12( 2 , 1 , 3 , 2 )= 8( 2 , 2 , 0 , 7 )= 11( 2 , 2 , 1 , 2 )= 7
最少硬幣組合為:( 2 , 2 , 1 , 2 )= 750元硬幣 2個10元硬幣 2個 5元硬幣 1個 1元硬幣 2個總計127元
- Feb 16 Fri 2018 00:22
等比級數之和
輸入任一等比級數計算其總和(首項為2,公比為2,項次為10): 如:2,4,8,16,32,64,128,256,512,1024
- Feb 14 Wed 2018 23:18
對的時間遇見不對的人
不管是在對的時間遇見不對的人,還是在不對的時間遇見對的人,都是美麗的錯誤,只能讓彼此留下淡淡的哀傷。