# 0422 Don't do LeetCode…Yet!
lidemyMentorProgram5th week2 day4
> 目標:從覺得 Leetcode 題目很難變成看得懂又會寫!
初學者寫程式:
1. 先想解法,先不要寫程式碼
2. 把解法寫成 pseudo code
3. 把 pseudo code 翻成程式碼
---
從先用中文說明步驟,翻成英文,再轉成虛擬碼 pseudo code 範例
**請印出1 ~100**
```
令 i 為 1
如果 i > 100 ,結束
印出 i
然後讓 i = i+1
跳回第 2 行
```
翻譯成英文
```
let i = 1
if i > 100 then exit
print i
i = i+1
jump to line 2
```
寫成虛擬碼
```
for ( i from 1 to 100 ) do
print i
end for
```
**印出1 ~100 的奇數**
```
for ( i from 1 to 100 ) do
if ( n mod 2 === 1 ) then (對 2 取餘數強等於 1)
print i
end if
end for
```
**經典題 fizz buzz**
```
for ( i from 1 to n ) do
if ( i % 15 ===0 ) print ‘FizzBuzz’
else if ( i % 3 === 0) print ‘Fizz’
else if ( i % 5 === 0) print ‘Buzz’
end for
```
**找最小的牌 (從陣列理找最小值)**
```
let 最小的牌 = 第一張牌
for ( i from 1 to n ) do
翻開第 i 張牌
if ( 第 i 張牌比最小牌的還小) do
最小的牌 = 第 i 張牌
end if
end for
```
```
let min = arr [0]
for ( i from 0 to n-1 )do
if ( arr [i] < min ) do
min = arr [i]
end if
end for
```