(百例编程)23.由两个平方三位数获得三个平方二位数

本文探讨了如何通过编程求解两个平方三位数abc和xyz,使得ax、by、cz均为完全平方数的问题。通过分解数字并判断其是否为完全平方数,实现对特定条件的匹配。

#include<iostream>
#include <cmath>
using namespace std;
void trans(int a,float *p);
int main(void)
{
float a[3],b[3];
for (int i=11;i!=32;i++)
  for(int j=11;j!=32;j++)
{
    trans(i*i,a);
	trans(j*j,b);
	if ( (sqrt(a[0]*10+b[0])==(int)sqrt(a[0]*10+b[0])) && (sqrt(a[1]*10+b[1])==(int)sqrt(a[1]*10+b[1])) &&(sqrt(a[2]*10+b[2])==(int)sqrt(a[2]*10+b[2])))
	{
		cout<<i*i<<" "<<j*j<<endl;
	}
}

	return 0;
}

void trans(int a,float *p)
{
   for (int k=100;k!=0;++p)
   {
	   *p=a/k%10;
	   k/=10;
   }
}

题目:已知两个平方三位数abc和xyz,其中a、b、c、x、y、z未必是不同的;而ax、by、cz是三个平方二位数。请编程求三位数abc和xyz。任取两个平方三位数n和n1,将n从高向低分解为a、b、c,将n1从高到低分解为x、y、z。判断ax、by、cz是否均为完全平方数。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值