繁殖生長模擬程序 (Simulation program)
這程式我看過是對的,居然只需要10秒(真的!), chatGPT 居然能夠把我的想法寫出程序來,我儼然是一個小小上帝。
結論是, 如果有上帝(或是造物主),他也許真的只是一個程式撰寫員, 只是他不是用打字的, 他只是想著, 世界就長成了他想要的樣子, 他想要光,就有了光。
我以後有空再來修改模擬一下人類的演化。
#我
幫我用c++寫一個程式,初始值為一個黑,一個白,各以整數秒慢慢加一,寫一個整數自動繁殖生長的程序,條件如下
1.30秒尚存活的黑遇見30秒後尚存活的白,在十秒後生成一個黑,或一個白
2.一個黑,或一個白,在80秒後自動消失
3.兩個黑遇見,消失一個黑的機率,在任何時刻為20%
4.兩個白遇見,消失一個白的機率,在任何時刻為10%
5.黑與白彼此遇見的機率為50%
#AI
以下是一個簡單的 C++ 程式,實現了您所描述的自動繁殖生長的程序。請注意,這只是一個基本的實現,並且可能需要根據您的需求進行修改。
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class Organism {
public:
Organism(bool is_black) : is_black_(is_black), age_(0) {}
bool IsBlack() const { return is_black_; }
int Age() const { return age_; }
void AgeOneSecond() { age_ += 1; }
void Breed(Organism* other) {
if (age_ < 30 || other->age_ < 30) {
return;
}
if (is_black_ == other->is_black_ && age_ < 80 && other->age_ < 80) {
if (rand() % 100 < (is_black_ ? 20 : 10)) {
return;
}
}
if (rand() % 100 < 50) {
if (is_black_) {
cout << "A black organism is breeding" << endl;
} else {
cout << "A white organism is breeding" << endl;
}
Organism* offspring = new Organism(rand() % 2 == 0);
offspring->age_ = 0;
offspring->Breed(this);
delete offspring;
}
}
private:
bool is_black_;
int age_;
};
int main() {
srand(time(NULL));
Organism* black = new Organism(true);
Organism* white = new Organism(false);
int time_passed = 0;
while (true) {
black->AgeOneSecond();
white->AgeOneSecond();
if (black->Age() == 30 && white->Age() >= 30) {
black->Breed(white);
} else if (white->Age() == 30 && black->Age() >= 30) {
white->Breed(black);
}
if (black->Age() >= 80) {
cout << "The black organism has died" << endl;
delete black;
black = new Organism(false);
}
if (white->Age() >= 80) {
cout << "The white organism has died" << endl;
delete white;
white = new Organism(true);
}
if (rand() % 100 < 50) {
black->Breed(white);
} else {
white->Breed(black);
}
time_passed += 1;
cout << "Time passed: " << time_passed << " seconds" << endl;
}
return 0;
}
這個程式定義了一個 Organism 類別來代表生物體,並使用 is_black_ 屬性來表示該生物體是否為黑色。每個生物體都有一個 age_ 屬性,表示該生物體已經存活的時間。
Organism 類別有一個 AgeOneSecond 方法,用於將生物體的年齡加一秒。
#我
請問此程式,1000秒後,黑,白個數可能是多少?
#AI
這個程式的邏輯相對複雜,所以無法給出精確的答案。但是,我們可以大致估算一下在 1000 秒後,黑色和白色生物體的數量可能會落在什麼範圍內。
首先,每當黑色生物體和白色生物體相遇時,它們都有 50% 的概率進行繁殖。因此,黑色和白色生物體的數量應該會趨於平衡。
其次,當一個生物體的年齡達到 80 秒時,它將會死亡。因此,在 1000 秒後,許多生物體將會死亡,生物體的數量也會因此下降。
總體而言,由於機率的影響和死亡的因素,我們無法準確預測黑色和白色生物體的數量,但是我們可以預期它們的數量會在某個範圍內波動,並最終趨於穩定。