Bài tập  /  Bài đang cần trả lời

Trong một đợt khảo sát, cơ sở kinh doanh ABC có ý định tặng quà cho những học sinh tham gia. Nhân viên B có phát ra các phiếu khảo sát gắn số hiệu. Do kinh phí tặng quà có hạn nên B chỉ lựa chọn tặng quà cho những học sinh có phiếu với số hiệu là số chính phương lẻ

BÀI 2. Trong một đợt khảo sát, cơ sở kinh doanh ABC có ý định tặng quà cho những học sinh tham gia. Nhân viên B có phát ra các phiếu khảo sát gắn số hiệu. Do kinh phí tặng quà có hạn nên B chỉ lựa chọn tặng quà cho những học sinh có phiếu với số hiệu là số chính phương lẻ, (Số chính phương là số bằng bình phương đúng của một số nguyên; ví dụ: số 4 và số 9 là số chính phương, số 9 là số chính phương lẻ). Yêu cầu: Cho số tự nhiên n. Hãy xác định số lượng các số chính phương lẻ trong khoảng từ 1 đến n và tổng của chúng?C++
1 Xem trả lời
Hỏi chi tiết
381
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để giải quyết bài toán này, chúng ta cần thực hiện các bước sau:

1. Xác định các số chính phương lẻ trong khoảng từ 1 đến n.
2. Tính tổng của các số chính phương lẻ này.
3. Đếm số lượng các số chính phương lẻ.

Dưới đây là đoạn mã C++ để thực hiện các bước trên:

```cpp
#include
#include

int main() {
int n;
std::cout << "Nhập số tự nhiên n: ";
std::cin >> n;

int count = 0;
int sum = 0;

for (int i = 1; i * i <= n; ++i) {
int square = i * i;
if (square % 2 != 0) { // Kiểm tra nếu số chính phương là số lẻ
count++;
sum += square;
}
}

std::cout << "Số lượng các số chính phương lẻ trong khoảng từ 1 đến " << n << " là: " << count << std::endl;
std::cout << "Tổng của các số chính phương lẻ này là: " << sum << std::endl;

return 0;
}
```

Giải thích đoạn mã:

1. Đầu tiên, chúng ta nhập giá trị của `n`.
2. Khởi tạo hai biến `count` và `sum` để đếm số lượng và tính tổng các số chính phương lẻ.
3. Sử dụng vòng lặp `for` để duyệt qua các số từ 1 đến √n (vì số chính phương lớn nhất trong khoảng từ 1 đến n là √n).
4. Trong vòng lặp, tính giá trị bình phương của `i` và kiểm tra nếu nó là số lẻ (`square % 2 != 0`).
5. Nếu đúng, tăng biến đếm `count` và cộng giá trị bình phương vào `sum`.
6. Cuối cùng, in ra số lượng và tổng các số chính phương lẻ.

Chạy đoạn mã này sẽ cho bạn biết số lượng và tổng các số chính phương lẻ trong khoảng từ 1 đến n.
0
0
DDT
09/07 23:38:53
+5đ tặng
#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    long long s = 0;
    for (int i = 1; i * i <= n; i += 2, cout << endl){
        cout << i * i;
        s += i * i;
    }
    cout << s;
    return 0;
}

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×