Ôn thi cuối kỳ môn Kỹ Thuật Lập Trình - Kỳ 2 - 2023 - Đề 3

Time limit: 1.0s / Memory limit: 64M

Points: 100

Học sinh thi THPT QG có ba cột điểm Toán, Lý, Hóa. Điểm vùng sẽ được cộng theo dạng sau: vùng 'A' thì được tính 1đ, vùng 'B' thì 0.5đ, còn vùng 'C' thì cộng 0đ. Biết rằng điểm chuẩn xét tuyển vào ngành CNTT của IUH trong năm học 2023 là 26đ.

Hãy viết chương trình khai báo một struct thisinh gồm các thành phần: vùng và thông tin ba cột điểm. Kiểm tra xem SV có đậu IUH hay không, in ra "YES", "NO".

Input

Dòng đầu tiên là một trong ba chữ cái 'A', 'B', 'C'.

Dòng tiếp theo gồm 3 số thập phân trong khoảng từ 0.0 đến 10.0, mỗi số sẽ có 1 chữ số thập phân.

Output

In ra điểm thi (đã tính điểm cộng, làm tròn đến 1 chữ số thập phân) và cho biết đậu hay rớt, tương ứng là YES / NO.

Input mẫu 1
A
9.0 8.5 7.8
Output mẫu 1
26.3 
YES
Input mẫu 2
C
10.0 10.0 5.0
Output mẫu 2
25.0 
NO

Giải thích: Ở VD1, ta thấy với dữ liệu trên thì tổng điểm ba khối là 25.3, cộng thêm điểm vùng 1đ nữa là vừa đúng 26.3đ nên đậu IUH. Còn ở VD2 thì không đậu và chú ý in ra là 25.0 thay vì 25.


Time limit: 1.0s / Memory limit: 64M

Points: 100

Vec tơ là một kiến thức quan trọng trong chương trình THPT và cả Đại học. Trong không gian, ta biết một vector ~\overrightarrow{a}=(x,y,z)~ có tọa độ ba thành phần là ~x,y,z~. Hãy viết chương trình khai báo một struct tên là vecto có 3 thành phần nguyên là ~x,y,z~ và thực hiện các yêu cầu bên dưới:

  1. Nhận vào thông tin của 2 vec tơ ~a=(x_1, y_1, z_1)~ và ~b=(x_2, y_2, z_2)~.

  2. Tính tổng hai vec tơ và độ dài của vec tơ tổng đó (làm tròn đến số nguyên gần nhất).

  3. Viết hàm void tính tích vô hướng, nhận vào 2 vec tơ, in ra tích vô hướng và YES/NO cho biết hai vec tơ có vuông góc nhau không?

  4. Viết hàm void tính tích có hướng, nhận vào 2 vec tơ, in ra tích có hướng và YES/NO cho biết hai vec tơ có song song nhau không?

Input

Hai dòng và mỗi dòng gồm 3 số nguyên (có thể âm, dương hoặc bằng ~0~) cho biết tọa độ vec tơ, các số có giá trị tuyệt đối không vượt quá ~10^3.~

Output

  • Dòng 1 in ra tổng hai vec tơ và độ dài của nó.

  • Dòng 2 in ra giá trị tích vô hướng và in YES/NO cho biết có vuông góc không?

  • Dòng 3 in ra giá trị tích có hướng và in YES/NO cho biết có song song không?

Sample input:

1 2 3
4 0 6

Sample output:

5 2 9 10
22 NO
12 6 -8 NO

Giải thích: tổng hai vec tơ là ~(1+4,2+0,3+6)=(5,2,9)~ có độ dài là ~\sqrt{5^2+2^2+9^2}=\sqrt{110} \approx 10.488~ làm tròn thành ~10~. Tiếp tục áp dụng các công thức (SV có thể search thêm Google) để tính được tích vô hướng, có hướng và kiểm tra vuông góc, song song.


Time limit: 1.0s / Memory limit: 64M

Points: 100

Hãy viết chương trình đệ quy, nhận vào ba số nguyên dương ~(a,b,c)~, đếm số bước cần thiết để chuyển chúng về ~(1,1,1)~, trong đó ở mỗi bước cho phép thực hiện thao tác sau đây:

Chọn ra số lớn nhất trong ba số và chia nguyên nó cho ~2.~

Input

Một dòng duy nhất gồm các số nguyên ~a,b,c~ không vượt quá ~10^5.~

Output

Đáp số của bài toán.

Sample input

1 4 10

Sample output

5

Giải thích: các bước chuyển sẽ là ~(1,4,10) \to (1,4,5) \to (1,4,2) \to (1,2,2) \to (1,1,2) \to (1,1,1).~


Time limit: 1.0s / Memory limit: 64M

Points: 100

Sử dụng cấp phát động, nhập ~n~ giá trị nguyên của mảng A, thực hiện chèn số 0 vào trước các phần tử chẵn của nó và in mảng mới ra.

Input

Dòng đầu tiên gồm số ~n~ cho biết kích thước mảng với ~1 \le n \le 100.~

Dòng tiếp theo gồm giá trị các phần tử của mảng A, các số tự nhiên không vượt ~2023.~

Output

Dòng đầu tiên cho biết kích thước của mảng mới.

Dòng tiếp theo là giá trị các phần tử của mảng mới.

Sample input

5
1 2 3 4 5

Sample output

7
1 0 2 3 0 4 5