c语言程序设计实例:已知0<a<40,0<b<40,a*a+b=1053,b*b+a=873,编程输出满足条件的a,b的值

来源:百度知道 编辑:UC知道 时间:2024/05/28 17:56:51
输出格式 a=%d,b=%d

#include<stdio.h>
main()
{
int a,b,n;
for(a=1;a<40;a++)
for(b=1;b<40;b++)
{
if((a*a+b==1053)&&(b*b+a==873))
printf("a=%d,b=%d",a,b);
}
}

void main()
{
in a,b;
for(a=0;a<40;a++)
{
for(b=0;b<40;b++)
{
if(a*a+b==1053)&&(b*b+a=873)
break;
}

}
}

》代码(在VC6.0中测试通过)》》:
#include<stdio.h>
void main()
{
int a,b;
for(a=1;a<40;a++)
for(b=1;b<40;b++)
if(a*a+b==1053&&b*b+a==873)
printf("a=%d,b=%d\n",a,b);
}//for循环
算法:穷举法
a=1时,让b从1变到39,看有没有满足条件的a、b组合。如果有则输出。当b变到39后,执行完if语句,b要自加变成40,此时内循环的控制条件b<40不满足,内循环结束。随后a自加变为2,然后b再次由1变到39,看a=2、b=1到39有没有满足条件的组合……
》如果你用的是TC编译环境,程序可以简化为下边更常见的》》:
main()
{
int a,b;
for(a=1;a<40;a++)
for(b=1;b<40;b++)
if(a*a+b==1053&&b*b+a==873)
printf("a=%d,b=%d&#