已知两个合数的最大公约数和最小公倍数的和是143,求两个合数

要详细申请
2024-12-28 05:06:42
推荐回答(1个)
回答1:

#include

main()
{
int x=0, y=0;
for(x=4; x<143; x++)
{
for( y=4; y {
if( key(x,y)+keym(x,y) == 143 && judgement(x) && judgement(y) )
printf( "%d %d\n", x, y );
}
}
}

int key( int x, int y )
{
int i;
for( i=x; i>0; i-- )
{
if(y%i==0 && x%i==0)
return i;
}
}

int keym( int x, int y )
{
int i;
for( i=x; i {
if( i%y==0 && i%x==0 )
return i;
}
}

int judgement(int x)
{
int i;
for( i=2; i {
if( x%i==0 )
return 1;
}

return 0;
}

C代码
答案2组

33 44
65 26

应该是对的。哈哈。