Số bị thiếu Tâm nhờ một người bạn tạo dãy số nguyên dương a1, a2,…, an với 1 <= ai <= n

Câu F88 trang 51 SBT Tin 10Số bị thiếu

Tâm nhờ một người bạn tạo dãy số nguyên dương a1, a2,…, an với 1aini = 1, 2, …, n và các số khác nhau từng đôi một để làm dữ liệu đầu vào kiểm thử một chương trình mới viết. Khi nhận được kết quả, Tâm phát hiện ra bạn mình chỉ gửi có - 1 số, các số nhận được thoả mãn những yêu cầu đã nêu. Tâm cần xác định số bị thiếu để có dữ liệu cần thiết.

Em hãy lập trình giải bài toán trên. Trước khi lập trình cần tóm tắt bài toán, xác định thuật toán và cách tổ chức dữ liệu.

Dữ liệu: Nhập vào từ thiết bị vào chuẩn, dòng đầu tiên chứa số nguyên n, (3n106), dòng thứ 2 chứa n - 1 số nguyên dương a1, a2,…, an thoả mãn các ràng buộc đã nêu, các số cách nhau một dấu cách.

Kết quả: Đưa ra thiết bị ra chuẩn số nguyên còn thiếu.

Ví dụ:

Input

Output

5

   2        5        1        4       

3

Trả lời

Tóm tắt bài toán (Mô hình toán học)

Cho: n và n - 1 số nguyên a1, a2,…, an-1 . Trong đó ai ≠ aj, với i ≠ j1ain với mọi i.

Yêu cầu: Tìm số bị thiếu không vượt quá n.

Thuật toán và cách tổ chức dữ liệu

- Nếu có đầy đủ n số thì tổng các số sẽ là n×(n+1)2

- Vậy số còn thiếu là: n×(n+1)2i=0n2ai

- Không cần phải dùng dãy để lưu các số nhập vào.

- Các bước của thuật toán:

Bước 1. Nhập n.

Bước 2. Nhập và tính tổng các ai

Bước 3. Đưa ra kết quả.

Tham khảo chương trình sau:

Xem thêm các bài giải SBT Tin học lớp 10 Cánh diều hay, chi tiết khác:

Bài 14, 15: Kiểu dữ liệu danh sách - xử lí danh sách - Thực hành với kiểu dữ liệu danh sách

Bài 16: Kiểm thử và gỡ lỗi chương trình

Bài 17, 18: Thực hành lập trình giải bài toán trên máy tính

Bài 1, 2: Nhóm nghề thiết kế và lập trình - Dự án nhỏ: Tìm hiểu về nghề lập trình web, lập trình trò chơi và lập trình cho thiết bị di động

Bài 1: Hệ nhị phân và ứng dụng - Thực hành về các phép toán bit và hệ nhị phân

Bài 3: Số hóa văn bản

Câu hỏi cùng chủ đề

Xem tất cả