用C++编一个1~1000的同构数

来源:百度知道 编辑:UC知道 时间:2024/05/25 17:45:59
简单点.付加说明

#include <iostream.h>
void main()
{
int n;
int m;
for(n=1;n<1000;n++)
{
m=n*n;
if(m/10<10 && m%10==n)
cout<<n<<"\t"<<m<<endl;
if(m/10>=10 &&m/10<100 &&m%100==n)
cout<<n<<"\t"<<m<<endl;
if(m/100>=10&&m/100<100)
{
if(m%100==n||m%1000==n)
cout<<n<<"\t"<<m<<endl;
}
if(m/1000>=10&&m/1000<100&&m%1000==n)
cout<<n<<"\t"<<m<<endl;
if(m/10000>=10&&m/10000<100&&m%1000==n)
cout<<n<<"\t"<<m<<endl;
}
}

把一个数的平方计算出来,再变成字符串比较字符串的末几位如果一样就说明是同构数。这个方法更直观。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char *right(char *ms,int len); /*截取一个字符串尾部长为len个字符的子串*/
void mai