请用c++解决以下问题不允许使用动态数组只允许使用静态数组:PowerOfThreeEasy时间限制:10s 内存限制:2560MB 代码提交间隔:3分钟现在可以提交 输入文件名:PowerOfThreeEasyin 输出文件名:PowerOfThreeEasyout试题来源:Topcoder SRM 604 问题描述 Fox Ciel有一个机器人。这个机器人处在一个无限大的平
#include
bool powerOfThree(int x, int y) { // 如果x或y为0,则不可能到达 if (x == 0 || y == 0) { return false; }
// 计算x和y的二进制表示中1的个数
int countX = 0, countY = 0;
while (x > 0) {
if (x % 2 == 1) {
countX++;
}
x /= 2;
}
while (y > 0) {
if (y % 2 == 1) {
countY++;
}
y /= 2;
}
// 如果x和y的二进制表示中1的个数相同,则可以到达
return countX == countY;
}
int main() { int x, y; cin >> x >> y; if (powerOfThree(x, y)) { cout << "Possible" << endl; } else { cout << "Impossible" << endl; } return 0;
原文地址: http://www.cveoy.top/t/topic/iRb6 著作权归作者所有。请勿转载和采集!