---
# System prepended metadata

title: SAM's note

---

# SAM's note

### Michelle's new choice: 
https://24h.pchome.com.tw/prod/DHAFL8-A900B4WIF?fq=/S/DHAFK8

### RESTful API with Laravel: Build a Real API with Laravel
https://www.udemy.com/course/restful-api-with-laravel-php-homestead-passport-hateoas/

### Web Application & Software Architecture 101
https://www.educative.io/courses/web-application-software-architecture-101

### Leetcode problem categories
https://cspiration.com/leetcodeClassification

### 專欄文章：Python Tutorial
https://openhome.cc/Gossip/CodeData/PythonTutorial/


# 程式練習
### h3howhow problems
題目：最簡分數計算
設計說明:
請撰寫一程式,讓使用者輸入的兩個分數,分別是m/n和y/x（m,n,y,x皆為整數）計算m/n+y/x,並以最簡分數呈現。
範例輸入:
輸入第一個分數的分子分母:5,6
輸入第二個分數的分子分母:3,10
範例輸出:
5/6+3/10=17/15
```python=
######Michelle######
def gcd(a,b):
    if b == 0:
        return a
    else:
        return gcd(b,a%b)
    
def fracadd(x,y,w,z):
    mole = x*z+w*y
    deno = y*z
    mole1 = int(mole/gcd(mole,deno))
    deno1 = int(deno/gcd(mole,deno))
    return str(mole1)+"/"+str(deno1)

               
x,y = input("請輸入第一個分數:").split(",")
x = int(x)
y = int(y)
w,z = input("請輸入第二個分數:").split(",")
w = int(w)
z = int(z)
print(x,"/",y,"+",w,"/",z,"=",fracadd(x,y,w,z))
```

# LeetCode Problems
## 4/26題目：
Given an integer n, return a list of all simplified fractions between 0 and 1 (exclusive) such that the denominator is less-than-or-equal-to n. The fractions can be in any order.

Example 1:
Input: n = 2
Output: ["1/2"]
Explanation: "1/2" is the only unique fraction with a denominator less-than-or-equal-to 2.

Example 2:
Input: n = 3
Output: ["1/2","1/3","2/3"]

Example 3:
Input: n = 4
Output: ["1/2","1/3","1/4","2/3","3/4"]
Explanation: "2/4" is not a simplified fraction because it can be simplified to "1/2".

Example 4:
Input: n = 1
Output: []

Constraints:
1 <= n <= 100
```python=
######Michelle######
def gcd(x,y):
    if y == 0:
        return x
    else:
        return gcd(y,x%y)
    
            
anslist = list()
num = int(input("請輸入1到100:"))

for i in range(1,num+1):
    for j in range(1,i):
        if gcd(i,j) == 1:
            frac = str(j)+"/"+str(i)
            anslist.append(frac)
print(anslist)