
编写一个判断从11到1000范围的三阶回文数,即使m,m的平方和m的立方都为回文数的数m,并将其输出。
我自己编了一个程序如下,不知哪里错了,希望大神能帮忙给我改正使其能够运行并能实现功能,谢谢#include<iostream>#include<cstdlib>#incl...
我自己编了一个程序如下,不知哪里错了,希望大神能帮忙给我改正使其能够运行并能实现功能,谢谢
#include<iostream>
#include<cstdlib>
#include<cmath>
#include<cstring>
using namespace std;
int huiwen(int m)//仅仅调用判断回文数
{
int b[2000],len,low,high,flag=1;//存储一个数字位数的数组b[]
char c[2000];//存储数字转化为字符串的数组c[]
low=0;
itoa(m,c,10);//将一个整型数据转换为字符串
len=strlen(c);//字符串长度
high=len-1;
b[low]=m%10;//最低位
b[high]=m/pow(10.0,len-1);//pow的类型,10.0
while(low<high&&flag)
{
if(b[low]!=b[high])
{
flag=0;
}
else
{
low++;
high++;
}
}
return flag;
}
int main()
{
int m;
cout<<"使m,m的平方,m的立方均为回文数的m如下所示:"<<endl;
for(m=11;m<1000;m++)
if(huiwen(m)&&huiwen(m*m)&&huiwen(m*m*m))
cout<<"m="<<m<<endl;
return 0;
} 展开
#include<iostream>
#include<cstdlib>
#include<cmath>
#include<cstring>
using namespace std;
int huiwen(int m)//仅仅调用判断回文数
{
int b[2000],len,low,high,flag=1;//存储一个数字位数的数组b[]
char c[2000];//存储数字转化为字符串的数组c[]
low=0;
itoa(m,c,10);//将一个整型数据转换为字符串
len=strlen(c);//字符串长度
high=len-1;
b[low]=m%10;//最低位
b[high]=m/pow(10.0,len-1);//pow的类型,10.0
while(low<high&&flag)
{
if(b[low]!=b[high])
{
flag=0;
}
else
{
low++;
high++;
}
}
return flag;
}
int main()
{
int m;
cout<<"使m,m的平方,m的立方均为回文数的m如下所示:"<<endl;
for(m=11;m<1000;m++)
if(huiwen(m)&&huiwen(m*m)&&huiwen(m*m*m))
cout<<"m="<<m<<endl;
return 0;
} 展开
1个回答
展开全部
#include<iostream>
#include<cstdlib>
#include<cmath>
#include<cstring>
using namespace std;
int huiwen(int m)//修改了一下这个函数
{
int low=0,high;
char c[2000];//存储数字转化为字符串的数组c[]
low=0;
itoa(m,c,10);//将一个整型数据转换为字符串
high=strlen(c)-1;
while(high>low){
if (c[high]!=c[low]) return 0;
high--;low++;
}
return 1;
}
int main()
{
int m;
cout<<"使m,m的平方,m的立方均为回文数的m如下所示:"<<endl;
for(m=11;m<1000;m++)
if(huiwen(m)&&huiwen(m*m)&&huiwen(m*m*m))
cout<<"m="<<m<<endl;
return 0;
}
#include<cstdlib>
#include<cmath>
#include<cstring>
using namespace std;
int huiwen(int m)//修改了一下这个函数
{
int low=0,high;
char c[2000];//存储数字转化为字符串的数组c[]
low=0;
itoa(m,c,10);//将一个整型数据转换为字符串
high=strlen(c)-1;
while(high>low){
if (c[high]!=c[low]) return 0;
high--;low++;
}
return 1;
}
int main()
{
int m;
cout<<"使m,m的平方,m的立方均为回文数的m如下所示:"<<endl;
for(m=11;m<1000;m++)
if(huiwen(m)&&huiwen(m*m)&&huiwen(m*m*m))
cout<<"m="<<m<<endl;
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询