要详细
申请
已知两个合数的最大公约数和最小公倍数的和是143,求两个合数
答案:1 悬赏:0
解决时间 2021-03-21 21:59
- 提问者网友:南佳人~
- 2021-03-20 22:44
最佳答案
- 二级知识专家网友:魅世女王
- 2021-03-21 00:02
#include<math.h>
main()
{
int x=0, y=0;
for(x=4; x<143; x++)
{
for( y=4; y<x; 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<x*y; i+=x )
{
if( i%y==0 && i%x==0 )
return i;
}
}
int judgement(int x)
{
int i;
for( i=2; i<sqrt(x); i++ )
{
if( x%i==0 )
return 1;
}
return 0;
}
C代码
答案2组
33 44
65 26
应该是对的。哈哈。
main()
{
int x=0, y=0;
for(x=4; x<143; x++)
{
for( y=4; y<x; 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<x*y; i+=x )
{
if( i%y==0 && i%x==0 )
return i;
}
}
int judgement(int x)
{
int i;
for( i=2; i<sqrt(x); i++ )
{
if( x%i==0 )
return 1;
}
return 0;
}
C代码
答案2组
33 44
65 26
应该是对的。哈哈。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯