长得像汤唯:求助:用c++求具有性质abcd=(ab+cd)(ab+cd)的四位数

来源:百度文库 编辑:中科新闻网 时间:2024/05/01 11:23:02
题目:求具有性质abcd=(ab+cd)(ab+cd)的四位数.
如:3025这个数具有一种独特的性质:将它平分为二段,即30和25,使之相加后求平方,即(30+25)(30+25),恰等于3025本身.请求出具有这样性质的全部四位数.

#include<iostream.h>
void main()
{
int n,a,b;
cout<<"具有这样性质的全部四位数:"<<endl;
for(n=1000;n<10000;n++) //四位数N的取值范围1000~9999/
{
a=n/100; //截取N的前两位数存于a
b=n%100; //截取N的后两位存于b
if((a+b)*(a+b)==n) //判断N是否为符合题目所规定的性质的四位数
cout<<n<<" ";
}
}

#include<stdio.h>
void main()
{
int n,a,b;
printf("There are following number with 4 digits satisfied condition\n");
for(n=1000;n<10000;n++) /*四位数N的取值范围1000~9999*/
{
a=n/100; /*截取N的前两位数存于a*/
b=n%100; /*截取N的后两位存于b*/
if((a+b)*(a+b)==n) /*判断N是否为符合题目所规定的性质的四位数*/
printf("%d ",n);
}

main()
{
int n,i,j;
for(n=1000;n<10000;n++)
{
i=n/100;
j=n%100;
if((i+j)*(i+j)==n)
printf("%d\t",n);
}
}