高中生程式解題系統:e621: 1. 免費停車 (Free Parking)

Ping-Lun Liao
1 min readAug 12, 2022

--

Original: https://yunlinsong.blogspot.com/2022/07/e621-1-free-parking.html

題目連結 https://zerojudge.tw/ShowProblem?problemid=e621

想法:

  1. 用一個變數 hasFree 來記錄是否有免費停車位。
  2. 用迴圈來處理 大於A、小於B。
  3. 用取餘數運算子 % 與 if 來判斷是否被 C 整除。

C++ 參考程式碼

#include <iostream>

using namespace std;

int main()

{

int N; // 幾天放送優惠

cin >> N;

int a, b, c;

while(N — ) {

cin >> a >> b >> c;

bool hasFree = false; // 是否有免費停車位

for(int idx = a + 1; idx < b; idx++) { // 大於a、小於b

if( idx % c != 0) { // 不被 c 整除

if(hasFree) cout << “ “; // 因為已有免費車位,先輸出空白來區隔

hasFree = true; // 有免費車位

cout << idx; // 輸出車位號碼

}

}

if(hasFree == false) // 無免費車位

cout << “No free parking spaces.”;

cout << ‘\n’;

}

}

Python 參考程式碼

N = int(input()) # 幾天放送優惠

while(N):

data = input()

hasFree = False # 是否有免費停車位

a, b, c = list(map(int, data.split(‘ ‘)))

for idx in range(a+1, b): # 大於a、小於b

if( idx % c != 0 ): # 不被 c 整除

if hasFree:

print(end= ‘ ‘) # 因為已有免費車位,先輸出空白來區隔

print(idx, end = “”) # 輸出車位號碼

hasFree = True # 有免費車位

if(hasFree == False): # 無免費車位

print(“No free parking spaces.”, end = “”)

print()

N = N — 1

--

--

No responses yet