【发布时间】:2014-04-17 19:59:21
【问题描述】:
我正在编写一个程序,该程序可以编写所有由钚和铅制成的安全链,并保持一定的长度。如果没有相邻的 2 个钚,则链条是安全的。这是我教科书中的解决方案:
所有以铅结尾的安全链长度n是通过将铅添加到以铅结尾的所有安全链长度n-1 + 所有以钚结尾的安全链长度n-1。
所有以钚结尾的安全链长度n都是通过将钚添加到所有以铅结尾的安全链长度n-1。
我用 C++ 编写了代码,但它不起作用,因为我有两个相互调用的函数,所以当我编译程序时,编译器会说:
error: 'Plutonium' was not declared in this scope
这是我的代码:
void Lead(int k)
{
if(k == 1)
{
x[1] = 'O';
write();
} else
{
x[k] = 'O';
Lead(k-1);
Plutonium(k-1);
}
}
void Plutonium(int k)
{
if(k == 1)
{
x[k] = 'P';
write();
} else
{
x[k] = 'P';
Lead(k-1);
}
}
我尝试在函数void Lead(); 的声明中写void Plutonium();,但没有成功。
是否有解决此问题的方法或不会导致此问题的其他解决方案?
【问题讨论】:
-
只是添加一个函数声明?
-
使用前向声明