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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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ài
Time limit: 1.0 / Memory limit: 256M

Point: 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