Xây dựng hàm 2 - Lớp HSG Ôn chuyên số 2

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ố 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 tìm chữ số lớn nhất của n

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm int maxDigit(int n) để tìm chữ số lớn nhất trong n.


Input

Một số nguyên dương n.

Output

In ra chữ số lớn nhất của n.


Ràng buộc

1 ≤ n ≤ 10^9


Ví dụ

Input 1:
8274
Output 1:
8

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 tính tổng dãy số Fibonacci nhỏ hơn n

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm int fibSum(int n) tính tổng các số Fibonacci nhỏ hơn n.


Input

Một số nguyên dương n.

Output

In ra tổng các số Fibonacci nhỏ hơn n.


Ràng buộc

1 ≤ n ≤ 10^9


Ví dụ

Input 1:
10
Output 1:
20

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 tổng các số nguyên tố nhỏ hơn n

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết hàm int sumPrimes(int n) trả về tổng các số nguyên tố nhỏ hơn n.


Input: Một số nguyên dương n.

Output: In ra tổng các số nguyên tố nhỏ hơn n.


Ví dụ:

Input 1:
10
Output 1:
17

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ố 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 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

Số nguyên tố lật ngược

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Một số được coi là số đẹp nếu nó là số nguyên tố và ngược lại của nó cũng là một số nguyên tố khác. Viết chương trình liệt kê các số đẹp như vậy trong một đoạn giữa hai số nguyên dương cho trước.


INPUT:
1 50
OUTPUT:
2 3 5 7 11 13 17 31 37

Số lần xuất hiện của số nguyên tố

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết chương trình cho phép nhập vào một số n, thực hiện đếm số lần xuất hiện của các chữ số nguyên tố trong n và in ra màn hình. (Liệt kê theo thứ tự xuất hiện các chữ số).


INPUT:
3112345
OUTPUT:
3 2
2 1
5 1

Số thỏa mãn tiêu chuẩn p (xây dựng hàm - chương trình con)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 1

Viết chương trình lần lượt nhập vào các trị nguyên N cho đến khi nhập trị 0 thì dừng. Hãy tính:

Số lượng các số đã nhập thỏa tiêu chuẩn P (Tiêu chuẩn P bao gồm: là số âm hoặc là số lẻ hoặc là số nguyên tố hoặc là số Fibonacci)

Tổng các số đã nhập thỏa tiêu chuẩn P.

Trung bình cộng của các số đã nhập thỏa tiêu chuẩn P (làm tròn lấy 2 chữ số sau phần thập phân).


Đầu ra:

Dòng thứ nhất in ra các số thỏa mãn tiêu chuẩn P;

Dòng thứ 2 in ra số lượng các số thỏa mãn tiêu chuẩn P, tổng các số thỏa mãn tiêu chuẩn P và trung bình các số thỏa mãn tiêu chuẩn P.


Ràng buộc: ~-10^4 \leq N \leq 10^5~


Input:
-1 
2 
3 
4 
5 
6 
0
Output:
-1 2 3 5
4 9 2.25

Giải thích: Có 4 số thỏa mãn tiêu chuẩn P đó là -1, 2, 3, 5; Tổng của 4 số đó bằng 9; Trung bình cộng của 4 số đó bằng 2.25;