(C语言编程实现)找出1—100之间的3个不相同整数X,Y,Z它们之间存在关系X*Y*Z=X+Y+Z

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:34:20

认为:1*2*3=1+2+3跟3*2*1=3+2+1是重复的,只打印其中的一种情况。

#include <stdio.h>

void main()
{
int i,j,k;

for(i=1;i<=100;i++)
for(j=1;j<i;j++)
for(k=1;k<j;k++)
if((i*j*k==i+j+k))
{
printf("%d*%d*%d=%d+%d+%d\n",i,j,k,i,j,k);
}
}

一看就知道是1、2、3嘛。。。
一定要编程的话就三个整型变量都从1到100循环,判断既不相等又满足给定条件就输出得到结果就行了
当然肯定还有优化算法,因为三个数都从1到100循环会产生很多重复判断,不过对现在的计算机优不优化无所谓

//---------------------------------------------------------------------------

#include <stdio.h>

int main(void)
{
int i,j,k;
for (i=1; i<101; i++)
for (j=1; j<101; j++)
for (k=0; k<101; k++)
if (k!=i&&k!=j&&j!=i&&k*i*j==k+i+j)
printf("%d*%d*%d=%d+%d+%d\n",i,j,k,i,j,k);

return 0;
}
//---------------------------------------------------------------------------