Ôn tập

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Đếm ký tự (HSG'19) 100 (p) 1.0s 256M
2 Fibo đầu tiên 100 (p) 1.0s 977M
3 Đàn em của n 100 (p) 1.0s 256M
4 Có phải số Fibo? 100 (p) 1.0s 1023M
5 Cánh Diều - MAXAREA - Hàm tìm diện tích lớn nhất giữa ba tam giác 100 (p) 1.0s 256M
6 Tổng các số lẻ (THT BC Vòng Tỉnh/TP 2022) 100 (p) 1.0s 256M
7 Số Py-ta-go (THT B TP Đà Nẵng 2020) 100 (p) 1.0s 256M

1. Đếm ký tự (HSG'19)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Hãy viết chương trình thực hiện nhiệm vụ sau:

Nhập vào từ bàn phím một xâu kí tự \(S\), hãy in ra số kí tự chỉ xuất hiện đúng 1 lần trong xâu \(S\).

Input

  • Dòng đầu tiên và duy nhất chứa 1 xâu \(S\) (chỉ chứa các kí tự trong tập \(\{a,b,\dots z\}\), không chứa dấu cách) \((|S| \leq 255)\).

Output

  • In ra số kí tự chỉ xuất hiện đúng 1 lần trong xâu \(S\).

Example

Test 1

Input
abbacdmedc 
Output
2

2. Fibo đầu tiên

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 977M Input: bàn phím Output: màn hình

"Một đôi thỏ (gồm một thỏ đực và một thỏ cái) cứ mỗi tháng đẻ được một đôi thỏ con (cũng gồm một thỏ đực và thỏ cái); một đôi thỏ con, khi tròn 2 tháng tuổi, sau mỗi tháng đẻ ra một đôi thỏ con, và quá trình sinh nở cứ thế tiếp diễn. Hỏi sau n tháng có bao nhiêu đôi thỏ, nếu đầu năm (tháng Giêng) có một đôi thỏ sơ sinh?"

Trong hình vẽ trên, ta quy ước:

  • Cặp thỏ nâu là cặp thỏ có độ tuổi \(1\) tháng.
  • Cặp thỏ được đánh dấu (màu đỏ và màu xanh) là cặp thỏ có khả năng sinh sản.

Nhìn vào hình vẽ trên ta thấy:

  • Tháng Giêng và tháng Hai: Chỉ có \(1\) đôi thỏ.
  • Tháng Ba: đôi thỏ này sẽ đẻ ra một đôi thỏ con, do đó trong tháng này có \(2\) đôi thỏ.
  • Tháng Tư: chỉ có đôi thỏ ban đầu sinh con nên đến thời điểm này có \(3\) đôi thỏ.
  • Tháng Năm: có hai đôi thỏ (đôi thỏ đầu và đôi thỏ được sinh ra ở tháng Ba) cùng sinh con nên ở tháng này có \(2 + 3 = 5\) đôi thỏ.
  • Tháng Sáu: có ba đôi thỏ (\(2\) đôi thỏ đầu và đôi thỏ được sinh ra ở tháng Tư) cùng sinh con ở thời điểm này nên đến đây có \(3 + 5 = 8\) đôi thỏ.

Khái quát, nếu \(n\) là số tự nhiên khác 0, gọi \(f(n)\) là số đôi thỏ có ở tháng thứ \(n\), ta có:

  • Với \(n=1\) ta được \(f(1)=1\).
  • Với \(n=2\) ta được \(f(2)=1\).
  • với \(n=3\) ta được \(f(3)=2\).
  • Do đó với \(n>2\) ta được \(f(n)=f(n-1)+f(n-2)\).

Dãy số trên được gọi là dãy số Fibonacci (Link wikipedia) và được định nghĩa như sau:

  • \(F_1=F_2=1\)
  • \(F_n=F_{n-2}+F_{n-1}\)

Hãy viết chương trình tính \(n\) số Fibonacci đầu tiên.

Input

  • Dòng đầu tiên và duy nhất chứa 1 số nguyên dương \(n\) \((1 \leq n \leq 90)\)

Output

  • In \(n\) số Fibonacci đầu tiên trên 1 dòng.

Example

Test 1

Input
10 
Output
1 1 2 3 5 8 13 21 34 55

3. Đàn em của n

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một số nguyên dương \(n\). Một số nguyên bất kì được gọi là "đàn em" của \(n\) nếu số đó nhỏ hơn \(n\) và số đó không âm

Yêu cầu:

  • Nhập vào số nguyên dương \(n\), và in ra một "đàn em" bất kì của \(n\)

Input:

  • Một dòng duy nhất chứa số nguyên dương \(n(1\le n\le 1000)\)

Output:

  • In ra một "đàn em" bất kì của \(n\)

Test 1

Input
5
Output
3

4. Có phải số Fibo?

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 1023M Input: bàn phím Output: màn hình

Bạn được cho 1 số nguyên dương \(N\). Hãy viết chương trình kiểm tra \(N\) có phải số Fibo hay không ?

Biết rằng số Fibo là số thuộc trong dãy số có quy luật như sau: \(0, 1, 1, 2, 3, 5, 8, 13, ...\)

Input

  • Dòng đầu tiên chứa số nguyên \(T \ (T \leq 10^5)\) – là số câu hỏi

  • \(T\) dòng tiếp theo,mỗi chứa 1 số nguyên dương \(N\) \((1 \leq N \leq 10^{10})\)

Output

  • \(T\) dòng, in ra IsFibo nếu N là số Fibo, ngược lại in ra IsNotFibo

Example

Test 1

Input
3
5
7
8
Output
IsFibo
IsNotFibo
IsFibo

5. Cánh Diều - MAXAREA - Hàm tìm diện tích lớn nhất giữa ba tam giác

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho ba tam giác có độ dài ba cạnh lần lượt là \(a, b, c; u, v, w; p, q, r\). Độ dài các cạnh đều là số thực cùng đơn vị đo. Em hãy tính diện tích của mỗi tam giác đó và đưa ra diện tích lớn nhất trong các diện tích tính được.

Input

  • Gồm \(3\) dòng, mỗi dòng ghi ba số là độ dài của \(3\) cạnh của một tam giác. Các bộ số đảm bảo là độ dài \(3\) cạnh của tam giác.

Output

  • In ra một số là diện tích tam giác lớn nhất trong \(3\) tam giác đã cho. Giá trị lấy \(2\) số phần thập phân.

Example

Test 1

Input
8 1 8
7 1 7
7 3 6
Output
Dien tich tam giac lon nhat: 8.94

6. Tổng các số lẻ (THT BC Vòng Tỉnh/TP 2022)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Tổng các số lẻ (Bài 1 bảng 😎

Viết các số lẻ bắt đầu từ 1 để nhận được dãy các số lẻ: \(1,3,5,7,9,11,13,15,17,19,...\)

Yêu cầu: Cho số nguyên dương \(n\), hãy tính tổng \(n\) số lẻ đầu tiên của dãy.

Input

  • Vào từ thiết bị nhập chuẩn một số nguyên dương \(n\ (n \le 10^9)\).

Output

  • Ghi ra thiết bị ra chuẩn gồm một số nguyên là tổng tính được.

Example

Test 1

Input
3 
Output
9
Note

Tổng của 3 số lẻ đầu tiên là: \(1 + 3+5 = 9\)

7. Số Py-ta-go (THT B TP Đà Nẵng 2020)

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Một số tự nhiên được gọi là số Py−ta−go là số được tạo thành từ việc ghép \(3\) số tự nhiên \(a, b, c\) theo một trật tự bất kì với nhau (không thay đổi trật tự các chữ số trong mỗi số \(a, b, c\)), trong đó \(3\) số \(a, b, c\) thỏa mãn điều kiện tổng bình phương của \(2\) số nào đó trong \(3\) số này bằng bình phương của số còn lại.

Ví dụ: Với \(3\) số \(a = 6, b = 8, c = 10\), ta có \(6^2 + 8^2 = 10^2\) và nếu ghép chúng lại với nhau theo một trật tự bất kì thì ta có được tất cả \(6\) số Py−ta−go như sau: \(6810, 6108, 8610, 8106, 1068, 1086\).

Yêu cầu: Cho \(x\) là một số Py−ta−go được ghép từ bộ ba số \(a, b, c\) như đã trình bày ở trên. Hãy tìm số lớn nhất trong \(3\) số \(a, b, c\).

Input

  • Một dòng chứa số nguyên dương \(x\) có ít nhất \(3\) chữ số và có nhiều nhất \(24\) chữ số.

Output

  • Ghi ra số nguyên dương cần tìm theo yêu cầu của đề. Nếu có nhiều kết quả thì chỉ ghi ra số lớn nhất trong các kết quả tìm được.

Example

Test 1

Input
6810
Output
10