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

Trong một đợt thám hiểm dưới long đại dương, các nhà khoa học đã phát hiện ra một loài sinh vật X có đặc điểm sinh sản rất đặc biệt

Trong một đợt thám hiểm dưới long đại dương, các nhà khoa học đã phát hiện ra một loài sinh vật X có đặc điểm sinh sản rất đặc biệt: - Mỗi con đực chỉ sinh ra một con cái. - Mỗi con cái chỉ sinh ra một con đực và một con cái. - Mỗi vòng đời mỗi con chỉ sinh sản đúng một lần. Yêu cầu: Biết đời thứ nhất của sinh vật có một con đực, Hãy tính số lượng sinh vật X thứ n và đời thứ n có bao nhiêu con đực. Dữ liệu vào: Cho trong tệp SVX6.INP gồm một dòng duy nhất ghi số nguyên dương n 390n Dữ liệu ra: Ghi vào tệp SVX6.OUT có dạng: Dòng 1: Ghi số lượng sinh vật đời thứ n Dòng 2: Ghi số lượng con đực.     Lưu ý:GIẢI THEO C++
1 Xem trả lời
Hỏi chi tiết
170
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để giải bài toán này, ta có thể sử dụng phương pháp đệ quy. Đầu tiên, ta sẽ tạo một hàm đệ quy để tính số lượng sinh vật đời thứ n và số lượng con đực ở đời thứ n.

```cpp
#include
#include

using namespace std;

void countCreatures(int n, long long& numCreatures, long long& numMales) {
if (n == 1) {
numCreatures = 1;
numMales = 1;
return;
}

long long prevCreatures, prevMales;
countCreatures(n-1, prevCreatures, prevMales);

numCreatures = prevCreatures + prevMales;
numMales = prevCreatures;
}

int main() {
ifstream inFile("SVX6.INP");
ofstream outFile("SVX6.OUT");

int n;
inFile >> n;

long long numCreatures, numMales;
countCreatures(n, numCreatures, numMales);

outFile << numCreatures << endl;
outFile << numMales << endl;

inFile.close();
outFile.close();

return 0;
}
```

Trong hàm `countCreatures`, ta sử dụng hai biến `numCreatures` và `numMales` để lưu số lượng sinh vật và số lượng con đực ở đời thứ n. Trong trường hợp n = 1, ta gán `numCreatures = 1` và `numMales = 1`. Trong trường hợp n > 1, ta sẽ tính số lượng sinh vật và số lượng con đực ở đời thứ n-1 bằng cách gọi đệ quy hàm `countCreatures`. Sau đó, ta tính số lượng sinh vật và số lượng con đực ở đời thứ n bằng cách cộng số lượng sinh vật và số lượng con đực ở đời thứ n-1. Cuối cùng, ta ghi kết quả vào file `SVX6.OUT`.

Để chạy chương trình, ta cần tạo một file `SVX6.INP` và nhập số nguyên dương n vào file đó. Sau đó, ta chỉ cần chạy chương trình và kết quả sẽ được ghi vào file `SVX6.OUT`.
0
0
Long Lê
04/09/2023 13:52:48
uses crt;
var i, x, y, z, n : int64;
    f1, f2 : text;
    
begin
clrscr;
assign(f1, 'SVX.INP'); reset(f1);
assign(f2, 'SVX.OUT'); rewrite(f2);
readln(f1, n);

x := 0; y := 1; 
for i := 3 to n do
    begin
        z := x + y;
        x := y;
        y := z;
    end;
    
writeln(f2, z + x);
writeln(f2, x);
close(f1); close(f2);
readln
end.

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
×