满足条件的整数

描述
假设a、b、c均为整数,且满足a,b,c 大于1,并且小于等于100,找出所有符合条件:a2 + b2 = c2 的整数组。
 
关于输入
无。
 
关于输出
按a从小到大的顺序输出所有满足条件的整数组(若a相同,则按b从小到大的顺序输出),每行一组,每一组数据的输出样式为: 

3*3 + 4*4 = 5*5 

注意: 

1)3*3 + 4*4 = 5*5 和 4*4 + 3*3 = 5*5是同一组数据,后者不要输出; 
2)加号和等号左右各有一个空格 
3)9*9 + 12*12 = 15*15 (在前) 
   9*9 + 40*40 = 41*41 (在后) 


 
例子输入
无。
例子输出
无。
提示
无。

#include <stdio.h>
#include <math.h>

int main()
{
	int a = 0, b = 0, c = 0;
	const int max_c = 100;
	const int max_a = (int) sqrt(max_c * max_c / 2);
	for (a = 2; a <= max_a; a++)
	{
		const int max_b = (int) sqrt(max_c*max_c - a*a);
		for (b = a + 1; b <= max_b; b++)
		{
			int s = a*a + b*b;
			int c = (int) sqrt(s);
			if (c*c == s)
			{
				printf("%d*%d + %d*%d = %d*%d" "\n", a, a, b, b, c, c);
			}
		}
	}
	return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值