填空题
下面程序求 2-1000 中的守形数(若某数的平方,其低位与该数本身相同,则称该数为守形数。例如 25, =625,625 的低位与 25 相同,则称 25 为守形数),试填写程序中的空。
#include
int main 1
{
unsigned int number, temp_number;
unsigned int bit_number;
unsigned long num_square, temp_square;
int index;
// 引进 times 是为了将程序扩充到计算立方守形数、四次方守形数等。
const int base = 10, times = 2;
const unsigned int max_number = 1000;
for (number = 2; number < max_number; number = number + 1) {
num_square = 1;
// 计算 number 的 times 次方到 num_square。
for (index = 0; index < times; index = index + 1) num_square =( );
// 下面检查 num_square 的低位是否与 number 相同。
temp_square = num_square;
temp_number = number;
while (temp_number > 0) {
bit_number =( );
if (temp_number /% base != bit_number) break; // 发生了不同,不再检查。
temp_number =( );
temp_square =( );
}
if (temp_number == 0) {
// temp_number == 0 说明 number_square 和 number 的低位都相同,即 number 满足要求。
cout << "/nFind " << number << ", and " << number;
for (index = 0; index < times - 1; index = index + 1) {
cout << " * " << number;
}
cout << " = " << num_square;
}
}
return 0;
}
【正确答案】
1、num_square * number temp_square /% base temp_number / base temp_square / base
【答案解析】