互质的两个数的最小公倍数是390,如果这两个数都是合数,则这两个数是()和()

来源:百度知道 编辑:UC知道 时间:2024/09/20 18:40:18

39 10
26 15
65 6

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

int Prime(int n)//判断n是否质数,是返回1,否返回0
{
int a;
for(a=2;a<=sqrt(n);a++)
if(n%a==0) break;
if(a>sqrt(n)) return(1);
else return(0);
}
int TwoPrime(int a,int b)//判断a和是否互质,是返回1,不是返回0
{
if(a%b==0 || b%a==0) return(0);
else return (1);
}
void fun(int x,int a[][2])//x是两个数的积,两个数结果放在a[2]里
{
int i,j,n=0;
float p;
for(i=1;;i++)
{
if(i>=x) return;
p=(float)x/i;
j=(int)p;
if(p!=j) continue;
if( (TwoPrime(i,j)==1) && (Prime(i)==0) && (Prime(j)==0) ) {a[n][0]=i;a[n][1]=j;n++;}

}
}

main()
{
int a[10][2]={0},i,j;
i=390;
fun(i,a);
for(j=0;j<10;j++)
printf("a=%d,b=%d\n",a[j][0],a[j][1]);

}

结果:
6 65
10 39
15 26
26 15
39 10
65 6

#include<iostream>