Trang chủ Tin Học Lớp 7 Trước mặt Super Mario là một dãy 10 cây nấm xếp thành một hàng dài. Mỗi cây nấm có một...
Câu hỏi :

Trước mặt Super Mario là một dãy 10 cây nấm xếp thành một hàng dài. Mỗi cây nấm có một điểm thưởng riêng khi hái nó. Super Mario cần phải hái nấm bắt đầu từ cây đầu tiên, liên tục cho đến một cây nào đó không nhất thiết phải là cây cuối cùng. Mục đích của anh ta là tổng số điểm thưởng càng gần 100 càng tốt.

Trong trường hợp nếu có hai khả năng tổng điểm thưởng gần 100 bằng nhau (ví dụ 98 và 102) thì Mario sẽ chọn phương án có giá trị lớn hơn (trong ví dụ này là 102).

Hãy giúp Super Mario xác định tổng điểm thưởng cần tìm.

Dữ liệu vào

Gồm 10 dòng, mỗi dòng chứa một số nguyên dương nhỏ hơn hoặc bằng 100, biểu thị điểm thưởng cho một cây nấm được hái, theo thứ tự mà Mario cần hái chúng.

Dữ liệu ra

Đưa ra một số nguyên là tổng điểm thưởng cần tìm.

Ví dụ dữ liệu vào10 20 30 40 50 60 70 80 90 100

Ví dụ dữ liệu ra100

Gợi ý

Ví dụ dữ liệu vào:
1
2
3
5
8
13
21
34
55
89

Ví dụ dữ liệu ra:
87

Ví dụ dữ liệu vào:
40
40
40
40
40
40
40
40
40
40

Ví dụ dữ liệu ra:
120

Lời giải 1 :

#include <bits/stdc++.h>

using namespace std;

main()
{
    long long a[10];
    for (long long i=0;i<10;++i)
    {
        cin>>a[i];
    }
    long long s=0;
    long long kq=0;
    for (long long i=0;i<10;++i)
    {
        s+=a[i];
        if (s==100)
        {
            kq=100;
            break;
        }
        else if (s>100)
        {
            if (s-100<=100-kq)
                kq=s;
            break;
        }
        else
        {
            if (100-s<=100-kq)
                kq=s;
        }
    }
    cout<<kq;
}

Lời giải 2 :

$#doanthevu$

Code C++:

#include <bits/stdc++.h>
using namespace std;
int main() {
    int a[10];
    for (int i = 0; i < 10; ++i) {
        cin >> a[i];
    }
    int s = 0;
    int kq = 0;
    for (int i = 0; i < 10; ++i)
    {
        s += a[i];

        if (s == 100)
        {
            kq = 100;
            break;
        }
        else if (s > 100)
        {
            if (s - 100 <= 100 - kq) kq = s;
            break;
        }
        else
        {
            if (100 - s <= 100 - kq) kq = s;
        }
    }
    cout << kq;
    return 0;
}

Bạn có biết?

Tin học là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng. Tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin. Hãy tận dụng sức mạnh của tin học để giải quyết các vấn đề và sáng tạo ra những giải pháp mới!

Nguồn :

Wikipedia - Bách khoa toàn thư

Tâm sự lớp 7

Lớp 7 - Năm thứ hai ở cấp trung học cơ sở, một chuỗi quay mới lại đến và chúng ta vẫn bước tiếp trên con đường học sinh. Học tập vẫn là nhiệm vụ chính, hãy luôn kiên trì và không ngừng cố gắng!

Nguồn :

sưu tập

Copyright © 2024 Giai BT SGK