在本节中,我们将看到一个数字是否可以表示为树的连续数字。假设数字为27。可以表示为8 + 9 + 10。
这可以用两种不同的方法解决。第一种方法是幼稚的方法。在这种方法中,我们必须检查i +(i + 1)+(i + 2)是否等于数字。另一种有效的方法是通过检查数字是否可被3整除。假设数字x可以由三个连续的1表示,则x =(y-1)+ y +(y + 1)= 3y。因此该数字必须可被3整除。
#include <iostream>
using namespace std;
bool hasThreeNums(int n) {
if(n % 3 == 0){
return true;
}
return false;
}
int main() {
int num = 27;
if(hasThreeNums(num)){
cout << "Can be represented";
}else{
cout << "Cannot be presented";
}
}输出结果
Can be represented