Buổi 1: Nhập Xuất và Tính toán cơ bản - Khang
Tính tổng các phân số
Nộp bàiPoint: 1
Tính tổng s như sau:
~S_n~ = ~\frac{1}{1*2} + \frac{1}{2*3} + \frac{1}{3*4} + ….. + \frac{1}{n * (n + 1)}~
Đầu vào là số nguyên dương ~n~ ~( 1 ≤ n ≤ 10^9)~.
Kết quả của bài toán lấy độ chính xác 2 chữ số
Input:
99
Output:
0.99
Đổi độ C sang độ F (6)
Nộp bàiPoint: 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àiPoint: 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
Tính tổng các số chẵn
Nộp bàiPoint: 1
~S_n = 2 + 4 + 6 + 8 + … + 2*n~
Đầu vào là số nguyên dương n ~( 1 ≤ n ≤ 10^9)~.
Đầu ra là kết quả của bài toán
Input 01:
3
Output 01:
12
Input 02:
1000000
Output 02:
1000001000000
Tính tổng một dãy số nguyên
Nộp bàiPoint: 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
Số chia hết lớn nhất nhỏ hơn hoặc bằng a
Nộp bàiPoint: 1
Cho 2 số nguyên dương ~a~ và ~b~. Tìm số chia hết cho ~b~ lớn nhất và không vượt qua ~a~. Chú ý không dùng vòng lặp và các hàm có sẵn (ví dụ như IF).
Đầu vào là 2 số nguyên dương ~a, b~ ~( 1 ≤ b ≤ a ≤10^8)~.
Đầu ra là kết quả của bài toán.
Ví dụ:
Input 01:
19 5
Output 01:
15
Input 02:
20 5
Output 02:
20
Số chia hết nhỏ nhất lớn hơn hoặc bằng a
Nộp bàiPoint: 1
Cho 2 số nguyên dương ~a~ và ~b~. Tìm số chia hết cho ~b~ nhỏ nhất và lớn hơn hoặc bằng ~a~. Chú ý không dùng vòng lặp và các hàm có sẵn (ví dụ như IF).
Đầu vào là 2 số nguyên dương a, b ~( 1 ≤ b ≤ a ≤10^8)~
Đầu ra là kết quả của bài toán
Input 01:
19 5
Output 01:
20
Input 02:
20 5
Output 02:
20
Input 03:
21 5
Output 03:
25
Quy đổi sang năm, tuần và ngày
Nộp bàiPoint: 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 và in ra phần nguyên và phần dư của phép chia
Nộp bàiPoint: 1
Tính và in ra phần nguyên, phần dư của phép chia 2 số nguyên ~a, b~.
Input
Gồm 2 số nguyên ~a, b~ với b khác 0 ~(-10^{18} ≤a, b ≤ 10^{18})~
Output
Đáp án của bài toán được in trên 1 dòng
Ví dụ:
Input 01:
10 3
Output 01:
3 1
Input 02:
10 5
Output 02:
2 0
Đếm số cặp
Nộp bàiPoint: 1
Cho số thực dương ~a, b, c~ thỏa mãn:
~a^3 + b^3 + c^3 + 3abc ≤ ab(a + b) + bc(b + c) + ca(c + a)~
Yêu cầu: Đếm xem có bao nhiêu cặp ~(b, c)~ và nêu ra các cặp ~(b, c)~ thỏa mãn điều kiện trên khi biết số ~a~ cho trước.
INPUT:
Một dòng duy nhất gồm số thực ~a~ ~(1 ≤ a ≤ 10^9)~.
OUTPUT
In ra:
~1)~ Dòng đầu tiên gồm một số nguyên dương duy nhất là số cặp ~(b, c)~ thỏa mãn yêu cầu.
~2)~ Dòng thứ hai gồm ~2~ số ~b~ và ~c~ làm tròn đến chữ số thập phân thứ ~5~, mỗi số cách nhau một dấu cách.
Example
Input
1
Output
1
1.00000 1.00000
Tổng, hiệu, tích, thương
Nộp bàiPoint: 1
Nhập vào 2 số nguyên, in ra tổng, hiệu, tích, thương (lấy độ chính xác với 2 chữ số).
Đầu vào là 2 số nguyên a, b với b khác 0( -10^9 ≤a, b ≤10^9)
Đầu ra là Tổng, hiệu, tích, thương của 2 số
Input 01:
10 2
Ouput 01:
12 8 20 5.00
Input 02:
1000000 1000000
Ouput 02:
2000000 0 1000000000000 1.00
Tính giá trị biểu thức 1
Nộp bàiPoint: 1
Cho biểu thức ~A(x) = x^3 + 3x^2 + x + 1~ với giá trị của x được nhập từ bàn phím, tính và in ra giá trị của biểu thức trên
Ràng buộc: Số nguyên dương x không quá ~10^5~.
Ví dụ:
Input:
2
Output:
23
Tính giá trị biểu thức 2
Nộp bàiPoint: 1
Yêu cầu: Cho ba số nguyên dương ~a , b~ và ~c~, hãy tính ~S = a*(b+c)+b*(a+c)~.
Dữ liệu: Một dòng ba số nguyên a, b, c ~( 0 < |a|, |b|, |c| \leq 10^6)~, ~a~ và ~b~ cách nhau một khoảng trắng.
Kết quả: Một dòng ghi giá trị S = ~a*(b+c) + b*(a+c)~.
Input:
1 2 3
Ouptu:
13
Tính tổng n số nguyên dương đầu tiên
Nộp bàiPoint: 1
Cho ~1~ số ~n~. Tính tổng ~S = 1 + 2 + 3 + ... + n~.
Input
Số nguyên dương ~n~ (~1 \le n \le 10^{12}~)
Output
Kết quả bài toán
Sample Input
3
Sample Output
6
Subtask
- Có ~50\%~ số điểm tương ứng với ~n \le 10^8~
- Có ~50\%~ số điểm tương ứng với ~n \le 10^{18}~
In ra giá trị đảo ngược (không sử dụng hàm có sẵn)
Nộp bàiPoint: 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 diện tích và thể tích hình trụ
Nộp bàiPoint: 1
Viết chương trình tính diện tích (xung quanh) và thể tích hình trụ khi biết bán kính r và chiều cao h của hình trụ. Bán kính và chiều cao có thể là số thực (lấy PI = 3.1416).
Dòng thứ nhất nhập vào bán kính và chiều cao
Dòng thứ hai in ra diện tích và thể tích (làm tròn lấy không lấy chữ số nào sau phần thập phân)
Ràng buộc: ~0 < r , h <= 10^6~
Input 01:
10.5 15.5
Output 01:
1023 5369
Input 02:
100 150
Output 02:
94248 4712400
Người lính (tính toán cơ bản - thi hsg)
Nộp bàiPoint: 1
Một người lính muốn mua w quả chuối trong cửa hàng. Anh ta phải trả k đô la cho quả chuối đầu tiên, 2k đô la cho quả thứ hai và cứ thế (nói cách khác, anh ta phải trả i * k đô la cho quả chuối thứ i). Anh ta có n đô la. Anh ta phải vay của bạn mình bao nhiêu đô la để đủ số chuối anh ta cần?
Input: Dòng đầu tiên chứa ba số nguyên dương k, n, w (1 ≤ k, w ≤ 1000, 0 ≤n≤10^9) là chi phí của quả chuối đầu tiên, số đô la ban đầu mà người lính có và số chuối anh ta muốn.
Output: Xuất ra một số nguyên - số đô la mà người lính phải vay từ bạn của mình. Nếu anh ta không phải vay tiền, đầu ra là 0.
Ví dụ:
Input:
3 17 4
Output:
13
Mua quà tặng (tính toán cơ bản - thi hsg)
Nộp bàiPoint: 1
Hôm nay Patrick chờ đợi một chuyến thăm từ người bạn SpPal của mình. Để chuẩn bị cho chuyến thăm, Patrick cần mua một số quà tặng ở hai cửa hàng gần nhà. Có một con đường dài d1 mét giữa nhà anh ta và cửa hàng đầu tiên và một con đường dài d2 mét giữa nhà anh ta và cửa hàng thứ hai. Ngoài ra, có một con đường dài d3 kết nối trực tiếp hai cửa hàng này với nhau. Giúp Patrick tính toán khoảng cách tối thiểu mà anh ta cần đi bộ để đến cả hai cửa hàng và trở về nhà. Patrick luôn bắt đầu tại nhà của mình. Anh ta nên ghé thăm cả hai cửa hàng chỉ di chuyển dọc theo ba con đường hiện có và trở về nhà của anh ta. Anh ta không ngại ghé thăm cùng một cửa hàng hoặc đi qua cùng một con đường nhiều lần. Mục tiêu duy nhất là giảm thiểu tổng quãng đường đã đi.

Input: Dòng đầu tiên của đầu vào chứa ba số nguyên d1, d2, d3 (1 <=d1, d2, d3<= 10^8) - độ dài của các đường dẫn. d1 là chiều dài của con đường nối nhà Patrick và cửa hàng đầu tiên; d2 là chiều dài của con đường nối nhà Patrick và cửa hàng thứ hai; d3 là chiều dài của đường dẫn kết nối cả hai cửa hàng.
Output: In khoảng cách tối thiểu mà Patrick sẽ phải đi bộ để ghé thăm cả hai cửa hàng và trở về
Ví dụ:
Input:
10 20 30
Output:
60
Lát gạch quảng trường nhà hát
Nộp bàiPoint: 1
Quảng trường Nhà hát ở thủ đô Berland có hình chữ nhật với kích thước n × m mét. Nhân dịp kỷ niệm thành phố, một quyết định đã được đưa ra để lát Quảng trường bằng những viên bằng đá granit vuông. Mỗi viên đá hình vuông có kích thước a × a. Số lượng viên đá ít nhất cần thiết để lát Quảng trường là bao nhiêu? Nó được phép che phủ bề mặt lớn hơn Quảng trường Nhà hát. Nó không được phép phá vỡ các viên đá. Các cạnh của viên đá phải song song với các cạnh của Quảng trường.
Input: Đầu vào chứa ba số nguyên dương trong dòng đầu tiên: n, m và a (1 ≤ n, m, a ≤ 10^9).
Output: Viết số lượng viên đá cần thiết để lát kín quảng trường.
Ví dụ:
Input:
6 6 4
Output:
4