这是一个求回文数的程序 先输入 MAX_NUM 输出从0到MAX_NUM中用二进制表示和十进制都是回文数的整数 比如313 它的二进制表示为100111001 is_circle_num()是判断的函数 在红色数字的地方输入相关代码 (里面有我自己写的代码) 实现如上的功能 我想了一节课 想到最后还是实验失败 所以想求助于大家
#include <iostream.h>
#include <iomanip.h>
static int is_circle_num(int number,int radius);
int main()
{
int num,max_num;
cout<<"please input an integer( ):";
cin>>max_num;
for(num=0;num<max_num;num=num+1){
if(is_circle_num(num,10)==1&&is_circle_num(num,2)==1){
cout<<setw(6)<<num;
cout<<"is a circle number in decimal and binary system!\n";
}
}
return 0;
}
int is_circle_num(int number,int radius)
{
int left_num,right_num;
int max_power,left_power,right_power;
max_power=1;
while( 1(number>max_power这是我自己填的) ){
max_power=max_power*radius;
}
left_power=max_power;
right_power=radius;
while( 2(right_power<=left_power) ){
right_num= 3(number%radius) ;
left_num= 4(number/right_power) ;
if(right_num!=left_num) return 0;
right_power=right_power*radius;
left_power=left_power/radius;
}
return 1;
}
谢谢大家!