Lập trình Java 2026 - Buổi số 2

Quy đổi sang năm, tuần và ngày

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 số ngày và thực hiện chuyển số ngày sang năm, tuần, ngày (không tính trường hợp năm nhuận)

Đầu vào số nguyên n không âm ~(0 ≤ n ≤ 10^6)~

Đầu ra là số năm, số tuần, số ngày


Input 01:
373
Output 01:
1 1 1

Tính tổng một dãy số nguyên

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

Point: 1

S_n = -1 + 2 - 3 + 4 - 5 + 6 + …. + ~(-1)^n~ * n

Đầu vào là số nguyên dương n ~( 1 ≤ n ≤ 10^{16})~, n là số chẵn.

Đầu ra là kết quả của bài toán


Input:
10000000000000000
Output:
5000000000000000

Đổi độ C sang độ F (6)

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

Point: 1

Để chuyển đổi độ ~C~ sang độ ~F~ thực hiện theo công thức sau: ~F = (C * 9 / 5) + 32~

Viết chương trình cho phép nhập vào nhiệt độ đo theo độ ~C~ là số nguyên dương không quá ~10^6~, thực hiện chuyển sang đơn vị đo độ ~F~ và in ra màn hình. (Lưu ý: luôn lấy 2 chữ số thập phân sau dấu chấm phẩy).


Input:
24
Output:
75.20

Tính khoảng cách Euclid

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

Point: 1

Để tính khoảng cách Euclid giữa 2 điểm trong hệ tọa độ ~Oxy~ hãy nhập vào tọa độ của 2 điểm ~(x_1, y_1)~ và ~(x_2, y_2)~ là các số nguyên ~( -10^6 ≤ xi, yi ≤ 10^6)~

Đầu vào: Nhập theo thứ tự x1, y1, x2, y2

Đầu ra: In ra khoảng cách giữa 2 điểm lấy độ chính xác với 2 chữ số


Input:
1 4 4 8
Output:
5.00

In ra giá trị đảo ngược (không sử dụng hàm có sẵn)

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

Point: 1

Viết chương trình in trị đảo ngược của số nguyên gồm 3 chữ số. Ví dụ, nếu nhập vào 483 thì in ra 384, nếu nhập là 170 thì in ra 071


Input 01:
483
Output 01:
384
Input 02:
170
Output 02:
071

Tính giá bán của sản phẩm

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

Point: 1

Viết chương trình nhập vào giá nhập của một sản phẩm là số nguyên sau đó tính giá bán bằng giá nhập tăng lên 25% (ví dụ giá nhập là 100000 thì giá bán sẽ bằng 125000)


Ràng buộc: 0 < giá nhập ~\leq 10^9~


Input:
100000
Output:
125000

Chuyển số nguyên thành số thực

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

Point: 1

Nhập vào một số nguyên N (~\leq10^{12}~). Chuyển đổi số nguyên đó sang số thực và in ra.


Input 01:
10
Output 01:
10.0

Chuyển đổi sang số nguyên

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

Point: 1

Nhập vào một số thực N (~\leq10^{18}~). Chuyển đổi số thực đó sang số nguyên và in ra.


Input 01:
10.5
Output 01:
10
Input 02:
123.456
Output 02:
123
Input 03:
123.0
Output 03:
123

Xét kết quả học tập

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

Point: 1

Yêu cầu: Cho biết điểm kiểm tra Tin học của 1 em học sinh (2 con điểm hệ số 1, 1 con điểm hệ số 2, 1 con điểm hệ số 3, điểm là số thực có 1 chữ số sau phần thập phân). In ra Kết quả học tập môn Tin học của em học sinh đó. Điểm tổng kết sẽ bằng (điểm hệ số 1 + điểm hệ số 1 + điểm hệ số 2 * 2 + điểm hệ số 3 * 3)/7

Nếu điểm tổng kết ~\geq 8~ đạt kết quả Giỏi, ~<8~ và ~\geq6,5~ đạt kết quả Khá, ~<6.5~ và ~\geq5~ đạt kết quả Trung Bình, ~<5~ đạt kết quả Yếu.

Dữ liệu: Một dòng chứa 4 số điểm của học sinh.

Kết quả: Kết quả học tập môn Tin học của em học sinh ở dạng in hoa không dấu (GIOI, KHA, TRUNG BINH, YEU)


Input 01:
9 8 7 8.5
Output 01:
GIOI
Input 02:
5 7 6.5 5
Output 02:
TRUNG BINH

Giải phương trình bậc 2 một ẩn

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

Point: 1

Phương trình bậc 2 là phương trình dạng ~ax^2 + bx + c = 0~.

Viết chương trình cho phép nhập vào ~a, b, c~ và thực hiện giải phương trình bậc 2. Nếu vô nghiệm thì in ra dòng NO, nếu vô số nghiệm thì in ra INF (chú ý trường hợp a = 0)

Nếu có nghiệm thì in các nghiệm (luôn lấy 2 chữ số thập phân sau dấu chấm phẩy) cách nhau một khoảng trắng

Lưu ý: ~-10^6 \leq a, b, c \leq 10^6~ (a, b, c là số thực)


Input 01:
8 -4 -2
Output 01:
0.81 -0.31
Input 02:
1 2 1
Output 02:
-1.00 -1.00

Xác định kiểu tam giác

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

Point: 1

Nhập vào a, b, c là độ dài 3 cạnh của tam giác; ~a, b, c~ là các số nguyên ~(-10^6 ≤ a, b, c ≤ 10^6)~

In ra INVALID tam giác đã cho không hợp lệ.

In ra ~1~ nếu tam giác là tam giác đều.

In ra ~2~ nếu tam giác là tam giác cân.

In ra ~3~ nếu tam giác là tam giác vuông.

In ra ~4~ nếu tam giác là tam giác thường.


Input 01:
3 4 5
Output 01:
3
Input 02:
3 3 3
Output 02:
1
Input 03:
1 1 8
Output 03:
INVALID
Input 04:
4 4 6
Output 04:
2

Kiểm tra tam giác hợp lệ

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

Point: 1

Nhập vào a, b, c là độ dài 3 cạnh của tam giác. a, b, c là các số nguyên ~(-10^6 ≤ a, b, c ≤ 10^6)~

In ra ~YES~ nếu tam giác nhập vào là hợp lệ, ngược lại in ~NO~

Nếu có cạnh là số <= 0 thì in ra ~INVALID~

(Lưu ý: Tam giác hợp lệ là tam giác có tổng 2 cạnh luôn lớn hơn cạnh thứ 3 và các cạnh phải là số dương)


Input 01:
3 4 5
Output 01:
YES
Input 02:
1 4 5
Output 02:
NO
Input 03:
-1 2 3
Output 03:
INVALID

Kiểm tra một năm bất kỳ có phải năm nhuận hay không

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

Point: 1

Năm nhuận là năm chia hết cho 400 hoặc (chia hết cho 4 và không chia hết cho 100).

Đầu vào là năm là một số nguyên. (-10^6 ≤ n ≤ 10^6)

In ra INVALID nếu n là một số nguyên âm hoặc số 0. Nếu n là năm nhuận, in ra YES, ngược lại in ra NO


Input 01:
2024
Output 01:
YES
Input 02:
2025
Output 02:
NO
Input 03:
-2025
Output 03:
INVALID

Thuật toán lạ kỳ

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

Point: 1

Xem xét thuật toán lấy đầu vào là một số nguyên dương ~n~. Nếu ~n~ là chẵn thì thuật toán sẽ chia nó cho 2 (chia lấy số nguyên), nếu ~n~ là lẻ thì thuật toán sẽ nhân nó cho 3 sau đó cộng với 1. Quá trình lặp lại đến khi ~n~ bằng 1. Ví dụ như đối với ~n=3~ thì sẽ như sau: $$ 3 \rightarrow 10 \rightarrow 5 \rightarrow 16 \rightarrow 8 \rightarrow 4 \rightarrow 2 \rightarrow 1$$ Nhiệm vụ của bạn là mô phỏng việc thực hiện thuật toán với một giá trị cho trước của ~n~.

Input:

Một dòng nhập vào giá trị của n.

Output:

In ra các giá trị của từng bước thực hiện của thuật toán

Constraints

~1 \leq n \leq 10^6~

Example

Input:

3

Output:

3 10 5 16 8 4 2 1

Kiểm tra số đối xứng

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

Point: 1

Viết chương trình kiểm tra xem một số nguyên dương N có phải là số đối xứng không? Nếu có thì in ra YES, không phải thì in ra NO


Ràng buộc: ~0\leq N \leq10^{18}~


Input 01:
123321
Output 01:
YES
Input 02:
123312
Output 02:
NO

Đảo ngược một số nguyên

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

Point: 1

Nhập vào một số nguyên N có ít nhất 2 chữ số, hãy đảo ngược số nguyên đó và in ra. Ví dụ 12 thì in ra là 21


Ràng buộc: ~10 \leq N\leq 10^{18}~


Input 01:
12345
Output 01:
54321
Input 02:
2340
Output 02:
432

Số đặc biệt

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

Point: 1

Viết chương trình tìm tất cả các số gồm 3 chữ số thỏa tính chất có chữ số hàng chục bằng nửa tổng (không được phép làm tròn) của chữ số hàng trăm và chữ số hàng đơn vị.


Output:
111 123 135 147 159 210 222 234 246 258 321 333 345 357 369 420 432 444 456 468 531 543 555 567 579 630 642 654 666 678 741 753 765 777 789 840 852 864 876 888 951 963 975 987 999

Ví dụ số 123 có (1 + 3) / 2 = 2


Kiểm tra số hoàn hảo

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

Point: 1

Xây dựng chương trình kiểm tra một số nguyên N > 0 có phải là số hoàn hảo. Nếu đúng thì in ra YES, còn không thì in ra NO

Số hoàn hảo là số mà tổng tất cả các ước của nó (không tính chính nó) sẽ bằng chính nó


Ràng buộc: ~0 \leq N \leq 10^6~


Input 01:
28
Output 01:
YES

28 có các ước là 1, 2, 4, 7, 14 và tổng các số này lại bằng chính 28 nên 28 là số hoàn hảo

Input 02:
30
Output 02:
NO

Các ước của N (vòng lặp for)

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

Point: 1

Viết chương trình nhập vào một số nguyên N rồi in ra tất cả các ước số của số đó.


Đầu vào: Số nguyên N


Ràng buộc: 1 <= N <= 10^3


Đầu ra: In ra các ước của N


Input:
10
Output:
1 2 5 10

Tính N giai thừa

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

Point: 1

Tính N giai thừa với N là số nguyên nhập từ bàn phím (N <= 20)


Input:
5
Output:
120
Input:
3
Output:
6

Vị trí của phần tử nhỏ nhất cuối cùng trong mảng

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

Point: 1

Nhập vào một mảng các số nguyên A có N phần tử, tìm phần tử nhỏ nhất cuối cùng có trong mảng.


Ràng buộc: ~0 < N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~


Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.

In phần tử nhỏ nhất cuối cùng trong mảng kèm theo vị trí của phần tử đó

Input 01:
5
6 1 4 6 1
Output 01:
1 5

Số 1 nhỏ nhất cuối cùng ở vị trí 5

Input 02:
6
1 3 1 4 0 7
Output 02:
0 5

Kiểm tra mảng có tăng dần hay không

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

Point: 1

Nhập vào một mảng các số nguyên A có N phần tử, kiểm tra xem mảng vừa nhập có phải là mảng tăng dần không, nếu đúng in ra YES, ngược lại in ra NO


Ràng buộc: ~0 < N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~


Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.

Lưu ý: Nếu code bằng Python thì nhập một giá trị số trên 1 dòng

Input 01:
5
5 1 4 6 3
Output 01:
NO
Input 02:
6
1 1 2 3 4 5
Output 02:
YES

Phần tử chẵn và lẻ đầu tiên trong mảng

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

Point: 1

Nhập vào một mảng các số nguyên A có N phần tử, tìm phần tử chẵn, lẻ đầu tiên trong mảng.


Ràng buộc: ~0 < N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~


Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử, dòng thứ 2 lần lượt là N phần tử trong mảng A.

In phần tử chẵn và lẻ đầu tiên trong mảng kèm theo vị trí của phần tử đó. Nếu số chẵn hoặc số lẻ không xuất hiện thì in ra NONE

Input 01:
5
5 1 4 6 3
Output 01:
4 3
5 1

Số 4 ở vị trí 3 và số 5 ở vị trí 1

Input 02:
6
1 1 7 1 1 3
Output 02:
NONE
1 1

Số chẵn không xuất hiện trong mảng nên in ra NONE


Đếm số lần xuất hiện của X trong mảng

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

Point: 1

Nhập vào một mảng các số nguyên A có N phần tử và một số nguyên X, đếm xem X xuất hiện bao nhiêu lần trong mảng.


Ràng buộc: ~0 < N \leq 10^6~; ~-10^6 \leq A[i], X \leq 10^6~


Dữ liệu vào gồm 2 dòng, dòng thứ nhất là số lượng N phần tử và X, dòng thứ 2 lần lượt là N phần tử trong mảng A.

Lưu ý: Nếu code bằng Python thì nhập một giá trị số trên 1 dòng

Input 01:
5 3
5 1 4 6 3
Output 01:
1

Số 3 xuất hiện 1 lần trong mảng

Input 02:
6 2
1 3 1 4 1 7
Output 02:
0