Luyện tập kỹ năng xây dựng hàm trong C++
Xây dựng hàm tính diện tích tam giác từ 3 cạnh
Nộp bàiPoint: 1
Viết hàm double triangleArea(int a, int b, int c) để tính diện tích tam giác từ 3 cạnh theo công thức Heron.
Input: Ba số nguyên dương a, b, c.
Output: In ra diện tích tam giác (làm tròn 2 chữ số thập phân), nếu không hợp lệ in 0.
Ràng buộc: 1 ≤ a, b, c ≤ 10^6
Ví dụ
Input 1:
3 4 5
Output 1:
6.00
Xây dựng hàm kiểm tra tam giác hợp lệ
Nộp bàiPoint: 1
Viết hàm bool isTriangle(int a, int b, int c) để kiểm tra 3 cạnh có tạo thành tam giác hay không.
Input: Ba số nguyên dương a, b, c.
Output: In "YES" nếu 3 cạnh tạo thành tam giác, ngược lại "NO".
Ràng buộc
1 ≤ a, b, c ≤ 10^6
Ví dụ
Input 1:
3 4 5
Output 1:
YES
Xây dựng hàm kiểm tra số Strong
Nộp bàiPoint: 1
Một số được gọi là Strong nếu tổng giai thừa các chữ số của nó bằng chính nó.
Viết hàm isStrong(n) kiểm tra điều kiện này.
Input
Một số nguyên dương n (1 ≤ n ≤ 10^6).
Output
In YES hoặc NO.
Ví dụ
Input 1
145
Output 1
YES
Xây dựng hàm đếm số chính phương trong đoạn [a, b]
Nộp bàiPoint: 1
Viết hàm int countSquares(int a, int b) trả về số lượng số chính phương trong đoạn [a, b].
Input: Hai số nguyên a, b (a ≤ b).
Output: In ra số lượng số chính phương trong đoạn.
Ràng buộc: 1 ≤ a ≤ b ≤ 10^9
Ví dụ:
Input 1:
1 10
Output 1:
3
Xây dựng hàm in ra số nguyên tố tiếp theo
Nộp bàiPoint: 1
Viết hàm int nextPrime(int n) trả về số nguyên tố nhỏ nhất lớn hơn n.
Input
Một số nguyên dương n.
Output
In ra số nguyên tố nhỏ nhất lớn hơn n.
Ràng buộc
1 ≤ n ≤ 10^6
Ví dụ
Input 1:
10
Output 1:
11
Xây dựng hàm kiểm tra số Armstrong 2
Nộp bàiPoint: 1
Một số có k chữ số được gọi là Armstrong nếu tổng các lũy thừa bậc k của các chữ số bằng chính nó.
Viết hàm bool isArmstrong(int n) kiểm tra điều này.
Input
Một số nguyên dương n.
Output
In "YES" nếu n là số Armstrong, ngược lại "NO".
Ràng buộc
1 ≤ n ≤ 10^6
Ví dụ
Input 1:
153
Output 1:
YES
Xây dựng hàm kiểm tra số thuận nghịch trong dãy
Nộp bàiPoint: 1
Viết hàm bool isPalindrome(int n) để kiểm tra số n có đối xứng không.
Sau đó, nhập k số và đếm xem có bao nhiêu số thuận nghịch.
Input:
Dòng đầu là số nguyên k (1 ≤ k ≤ 100).
Dòng tiếp theo gồm k số nguyên dương.
Output: In ra số lượng các số thuận nghịch trong dãy.
--
Ràng buộc
Mỗi số ≤ 10^6
Ví dụ
Input 1:
5
121 343 12 44 123
Output 1:
3
Xây dựng hàm tính a^b
Nộp bàiPoint: 1
Viết hàm long long power(int a, int b) để tính giá trị a^b (a mũ b).
Input: Hai số nguyên a, b (0 ≤ a ≤ 10, 0 ≤ b ≤ 10)
Output:
In ra giá trị a^b.
Ví dụ
Input 1:
2 5
Output 1:
32
Xây dựng hàm tính tổng dãy số nghịch đảo
Nộp bàiPoint: 1
Viết hàm sumSeries(n) tính:

---
Input
Một số nguyên dương n (1 ≤ n ≤ 10^5).
Output
In ra giá trị S, làm tròn đến 5 chữ số thập phân.
--
Ví dụ
Input 1
3
Output 1
1.83333
Xây dựng hàm kiểm tra số chính phương
Nộp bàiPoint: 1
Viết hàm isSquare(n) kiểm tra n có phải là số chính phương hay không.
Input
Một số nguyên dương n (1 ≤ n ≤ 10^9).
Output
In YES hoặc NO.
Ví dụ
Input 1
16
Output 1
YES
Xây dựng hàm đếm số nguyên tố trong đoạn [a, b]
Nộp bàiPoint: 1
Viết hàm countPrimes(a, b) trả về số lượng số nguyên tố trong đoạn [a, b].
Input
Hai số nguyên dương a, b (1 ≤ a ≤ b ≤ 10^6).
Output
In ra số lượng số nguyên tố trong đoạn.
Ví dụ
Input 1
2 10
Output 1
4
Xây dựng hàm tìm bội chung nhỏ nhất của ba số
Nộp bàiPoint: 1
Viết hàm lcm3(a, b, c) tính BCNN của ba số nguyên dương.
Input
Ba số nguyên dương a, b, c (1 ≤ a, b, c ≤ 10^6).
Output
In ra BCNN của ba số.
Ví dụ
Input 1:
2 3 4
Output 1:
12
Xây dựng hàm tìm ước chung lớn nhất của ba số
Nộp bàiPoint: 1
Viết hàm gcd3(a, b, c) tính ước chung lớn nhất của ba số nguyên dương.
Input
Ba số nguyên dương a, b, c (1 ≤ a, b, c ≤ 10^9).
Output
In ra UCLN của ba số.
Ví dụ
Input 1
6 9 15
Output 1
3
Xây dựng hàm kiểm tra số thuận nghịch
Nộp bàiPoint: 1
Viết hàm isPalindrome(n) kiểm tra xem n có đọc xuôi và ngược giống nhau không.
Input
Một số nguyên dương n (1 ≤ n ≤ 10^9).
Output
In YES nếu n là số thuận nghịch, ngược lại in NO.
Ví dụ
Input 1
121
Output 1
YES
Xây dựng hàm tính tổng các chữ số chẵn của một số
Nộp bàiPoint: 1
Viết hàm sumEvenDigits(n) trả về tổng các chữ số chẵn trong n.
Input
Một số nguyên dương n (1 ≤ n ≤ 10^18).
Output
In ra tổng các chữ số chẵn.
Ví dụ
Input 1
123456
Output 1
12
Xây dựng hàm đếm số chữ số của một số nguyên
Nộp bàiPoint: 1
Viết hàm countDigits(n) trả về số lượng chữ số của n.
Input
Một số nguyên dương n (1 ≤ n ≤ 10^18).
Output
In ra số lượng chữ số.
Ví dụ
Input 1:
12345
Output 1:
5
Xây dựng hàm tính tổng các ước của số nguyên dương
Nộp bàiPoint: 1
Viết hàm sumDivisors(n) trả về tổng tất cả các ước của số nguyên dương n.
Input
Một số nguyên dương n (1 ≤ n ≤ 10^6).
Output
In ra tổng các ước của n.
Ví dụ
Input 1:
6
Output 1:
12
Xây dựng hàm tìm Bội chung nhỏ nhất simple
Nộp bàiPoint: 1
Cho hai số nguyên dương a và b. Hãy viết chương trình tìm bội chung nhỏ nhất (BCNN) của hai số đó.
Input: Gồm một dòng chứa hai số nguyên dương a, b (1 ≤ a, b ≤ 10^9).
Output: In ra một số nguyên duy nhất - là bội chung nhỏ nhất của a và b.
BCNN có thể tính theo công thức: (a*b)/ucln(a, b)
Ví dụ:
Input:
6 8
Output:
24
Xây dựng hàm tìm ước chung lớn nhất simple
Nộp bàiPoint: 1
Cho hai số nguyên dương a và b.
Hãy viết hàm tìm ước chung lớn nhất (UCLN) của hai số đó.
Input: Gồm một dòng chứa hai số nguyên dương a, b (1 ≤ a, b ≤ 10^9).
Output: In ra một số nguyên duy nhất - là ước chung lớn nhất của a và b.
Ví dụ
Input:
12 18
Output:
6
Xây dựng hàm tổng hợp
Nộp bàiPoint: 1
Viết các hàm sau:
tong(lst) – tính tổng các phần tử trong danh sách.
solonnhat(lst) – tìm số lớn nhất.
trungbinhcong(lst) – tính trung bình cộng.
demsochan(lst) – đếm số phần tử chẵn.
Sau đó, viết chương trình chính nhập danh sách và in ra:
Tổng
Số lớn nhất
Trung bình cộng (làm tròn 2 chữ số)
Số lượng số chẵn
Dữ liệu vào:
Dòng 1: nhập vào một số nguyên N là số lượng phần tử trong danh sách
Dòng 2: nhập một dãy số nguyên, cách nhau bởi khoảng trắng.
Dữ liệu ra: 4 dòng kết quả tương ứng.
Input:
5
2 4 6 7 9
Output:
28
9
5.60
3