/hsg

Primary LanguagePython

Ôn thi HSG K12 2024-2025

Tính số Fibonacci

Cho số n biết F0 = 0, F1 = 1, F2 = F1+F0... Fn=Fn-2+Fn-1: link code

Input: n là số nguyên dương
Output: giá trị của Fn

Tìm số Ra-one

Định nghĩa: Số Ra-one là số mà hiệu của tổng các chữ số ở vị trí chẵn và vị trí lẻ bằng 1: link code

Input: a, b là 2 số nguyên dương [a, b] (a < b)
Output: số lượng số Ra-one ở trong đoạn [a,b]

Ví dụ:

234563 là số Ra-one: (6+4+2)-(3+5+3)=1
123456 không phải số Ra-one: (5+3+1)-(6+4+2) ≠ 1

Tìm số Lucifer

Định nghĩa số Lucifer: là số mà hiệu giữa tổng các chữ số ở vị trí chẵn và tổng các chữ số ở vị trí lẻ là một số nguyên tố: link code

Input: a, b là số nguyên dương (a<b)
Output: Số lượng số Lucifer có trong đoạn [a,b]

Ví dụ:

20314210 là số Lucifer vì: (1+4+3+2) - (0+2+1+0) = 10-7=3 là 1 số nguyên tố

Tổng lớn nhất: link code

Input: 1 số nguyên dương n (3 ≤ n ≤ 10^14)
Output: số nguyên dương m (1 ≤ m < n-1) để tổng GCD(m,n)+m đạt max. GCD(m,n) là ước chung lớn nhất của m và n. Nếu có nhiều m thoả mãn thì trả lại giá trị m lớn nhất.

Sample input Sample output
15 12

Giới hạn

• 60% số test ứng với n ≤ 10^4
• 40% số test ứng với n ≤ 10^14

Máy quét số: link code

Mô tả:

Hệ thống máy quét đề nhận dạng các số của một ngân hàng hiện đã bị hacker xâm nhập và làm cho chúng không thể nhận dạng được một số chữ số. Tạm gọi những chữ số mà máy quét không nhận dạng được là chữ số bị hỏng. Máy quét sẽ không nhận dạng được các số có chứa ít nhất một chữ số bị hỏng.

Ví dụ:

Có 3 chữ số bị hỏng: 0, 1, 3 thì máy quét sẽ không nhận dạng được các số:
1, 3, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 30,...
Để đánh giá khả năng làm việc của máy quét, đội kiểm định đưa ra yêu cầu: biết các chữ số bị hỏng và một số nguyên dương n cho trước, họ cần biết có bao nhiêu số nguyên dương không vượt quá n mà máy quét vẫn có thể nhận dạng được.

  • Input:
    • Dòng 1: Gồm 1 số nguyên dương n (n≤10^7)
    • Dòng 2: Gồm một xâu kí tự là các chữ số bị hỏng (len_str < 10), các chữ số bị hỏng sẽ được viết liền không có dấu cách.
  • Output: Số nguyên dương m duy nhất (m < n) mà máy quét có thể nhận dạng được.

Số chính phương đặc biệt: link code

Định nghĩa:

  • Số chính phương đặc biệt là số chính phương được tạo bởi một số nguyên tố.

Ví dụ:

  • 4 = 2 x 2 là số chính phương đặc biệt
  • 9 = 3 x 3 là số chính phương đặc biệt
  • 36 = 6 x 6 không phải là số chính phương đặc biệt.

Nhập xuất:

  • Input: 2 số nguyên dương a, b (2≤a≤b≤10^12)
  • Output: Trong đoạn [a..b] có bao nhiêu số chính phương đặc biệt.
  • Dữ liệu vào từ tệp input.inp và ghi kết quả ra ở tệp output.out.

Bảng số: link code

Mô tả:

  • Cho một bảng vuông gồm n hàng và n cột. Các hàng được đánh số từ 1 đến n, các cột được đánh số từ 1 đến n. Ô ở hàng thứ i và cột thứ j có giá trị là i x j (1 ≤ i ≤ n, 1 ≤ j ≤ n).

Yêu cầu:

Cho một số nguyên dương x. Hãy đếm số lượng ô có trong bảng giá trị bằng x.

Nhập xuất:

  • Input: hai số nguyên dương n và x (1 ≤ n ≤ 10^6, 1 ≤ x ≤ 10^12) là kích thước của bảng và số nguyên cần tìm
  • Output: số nguyên x duy nhất là số ô có trong bảng.
    • nhập xuất các giá trị thông qua tệp.

HSG Tin chuyên Hà Tĩnh source

Bài 1. Tổng dãy số: source

  • Cho dãy số T1, T2, T3,.... Tn.
  • Số hạng tổng quát: Tk = (k+1)^2 -k^2 (k thuộc Z và 1 ≤ k ≤ n)
  • Yêu cầu: Tính S = T1 + T2 + T3 + ...

input:

File văn bản sums.inp gồm 1 dòng duy nhất chứa số nguyên dương n ( 1 ≤ n ≤ 10^9 )

output:

  • Số S đã tính được vào file sums.out

Bài 2: Số đặc biệt: source

  • Mô tả: Số đặc biệt là tổng bình phương các chữ số của nó là số nguyên tố (VD: 12, 14, 21 là các số đặc biệt)
  • Yêu cầu: Cho số nguyên dương n. Kiểm tra n có phải số nguyên tố đặc biệt hay không.

input:

file văn bản bnum.inp (10≤n≤10^18)

output:

File văn bản bnum.out gồm 2 dòng:

  • Dòng 1: số n là số đặc biệt, nếu n không phải số đặc biệt thì -1
  • Dòng 2: Một số là tổng bình phương các chữ số của n.