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

Viết chương trình code C++ tìm ra số chính phương bé nhất và lớn hơn hoặc bằng n

Viết chương trình code C++ tìm ra số chính phương bé nhất và lớn hơn hoặc bằng n
2 Xem trả lời
Hỏi chi tiết
79
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Dưới đây là chương trình C++ tìm ra số chính phương bé nhất và lớn hơn hoặc bằng một số nguyên dương `n`:

```cpp
#include
#include

int main() {
int n;
std::cout << "Nhap so nguyen duong n: ";
std::cin >> n;

// Tính căn bậc hai của n
int sqrt_n = std::ceil(std::sqrt(n));

// Tính số chính phương
int perfect_square = sqrt_n * sqrt_n;

std::cout << "So chinh phuong be nhat va lon hon hoac bang " << n << " la: " << perfect_square << std::endl;

return 0;
}
```

### Giải thích chương trình:
1. Bạn nhập vào một số nguyên dương `n`.
2. Chương trình sẽ tính căn bậc hai của `n` và làm tròn lên bằng cách sử dụng hàm `std::ceil`.
3. Sau đó nó nhân giá trị làm tròn với chính nó để tìm được số chính phương nhỏ nhất lớn hơn hoặc bằng `n`.
4. Cuối cùng, chương trình in ra kết quả.

### Ví dụ:
- Nếu bạn nhập `n = 10`, chương trình sẽ tính căn bậc hai của `10`, là khoảng `3.16`, làm tròn lên là `4`, và số chính phương là `16` (`4*4`).
- Nếu bạn nhập `n = 16`, chương trình sẽ trả về `16` bởi vì nó đã là một số chính phương.
0
0
Ta Tan Phat
17/10 12:10:52
#include <bits/stdc++.h>
#define endl '\n'
using namespace std;

int main(){
    long long n;
    cin >> n;
    long long i = 1;
    while(i < n){
        if(i * i >= n){
            cout << i * i;
            break;
        }
        i++;
    }
    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
1
0
Duy Lê
19/10 20:58:59
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
cout << "Nhập số nguyên n: ";
cin >> n;
int sqrt_n = static_cast<int>(ceil(sqrt(n)));
int perfect_square = sqrt_n * sqrt_n;
cout << "Số chính phương bé nhất lớn hơn hoặc bằng " << n << " là: " << perfect_square << endl;
return 0; }

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
×