Solutions of Read number till eternity - MarisaOJ: Marisa Online Judge

Solutions of Read number till eternity

Select solution language

Write solution here.


User Avatar angwangsushi    Created at    1 likes

# **Lưu ý: Hãy tự nghĩ cách giải, chỉ xem sol khi bí** # **Ý TƯỞNG**: **Đề yêu cầu nhập $n$, nếu $n$ khác 0 thì in $n^5$, nếu $n = 0$ thì kết thúc chương trình.** $\Rightarrow$ Bây giờ ta sẽ sử dụng vòng lặp `while(true)`. * Trong vòng lặp, ta sẽ nhập từ bàn phím giá trị của $n$. * Nếu $n$ = 0,thì `break`. *** Và ta sẽ sử dùng thêm hàm `pow` có sẵn trong thư viện của C++. Hàm này có tác dụng giúp chúng ta tính những phép tính số mũ. **Với cú pháp: `pow(cơ số, số mũ)`.** *Ví dụ :* `pow(2,3)` sẽ trả về giá trị $8$ $\Rightarrow$ `pow(n,5)` sẽ trả về giá trị $n^5$ ### **LƯU Ý :** Kiểu giá trị trả về của hàm pow là **CÓ THỂ LÀ** `long double`, nên ta phải thêm `(long long)` trước phép tính để ép kiểu dữ liệu của chúng. Nếu không output sẽ in ra số thực ở dạng khoa học. `9.9501e+14 ` chẳng hạn. *** #### **VỚI PYTHON :** Cách làm vẫn tương tự vậy, nhưng ta có phép tính `**`, nghĩa là phép tính số mũ trong python. Ví dụ: `2**3` sẽ trả về giá trị $8$. $\Rightarrow$ Vậy chỉ cần in ra `n**5` là được. *** ## **Độ phức tạp thuật toán :** Với cách làm trên độ phức tạp thời gian là : $O(n)$ *** ## **Code tham khảo :** C++ ```cpp #include <bits/stdc++.h> #define ll long long #define endl "\n" #define suyvolo ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) using namespace std; // THPT Trần Phú Thành phố Hồ Chí Minh. int main() { suyvolo; ll n; while(true){ cin >> n; if(n == 0) break; cout << (ll)pow(n,5) << endl; // nhớ endl nha :), ở đây mình define endl là "\n" //nên hiệu suất vẫn nhanh:) } return 0; } ``` ## **Code tham khảo :** Python ```python while True: n = int(input()) if n!=0: print(n**5) // Với python không cần ép kiểu, print là luôn cũng được if n==0: break ```