PTA:本题要求两个给定正整数的最大公约数和最小公倍数

PTA:本题要求两个给定正整数的最大公约数和最小公倍数。

输入格式:输入在一行中给出两个正整数M和N(≤1000)。
输出格式:在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。

输入样例: 511 292

输出样例::73 2044

#include <stdio.h>int main()
{    int num1, num2;
     scanf("%d %d", &num1, &num2);
     int i,j;
     int s1,s2,nums,min,num3;
     float s3, s4;    
     for (i=1;i<=num2;i++){ 
           s1=num1*i;;       
           for (j=1;j<=num1;j++){            
           	s2=num2*j;
            	if (s1 == s2){
            	   nums = s2;                
            	   break;
                }                                        
           }        
           if (nums != 0){            
           break;        
           }    
      }    
      int a1,a2,a[1000]={};    
      int w;    
      if (num1<num2) min=num1;    
      else min=num2;    
      for (w=1;w<=min;w++){            
      	s3=(float)num1/w;        
      	s4=(float)num2/w;        
      	a1=(int)s3;        
      	a2=(int)s4;        
      	//printf("s3 = %f ", s3);        
      	//printf("s4 = %f ", s4);        
      	if (s3-(float)a1==0&&s4-(float)a2==0){            
      		a[w-1]=w;        
      	}        
      	else{            
      		a[w-1]=1001;            
      		continue;        
      	}        
      	//printf("num = %d", a[w-1]);   
      	int q;    //printf("a[q] = %d", a[q]);    
      	for (q=min;;q--){        
      		if (a[q]!=0&&a[q]!=1001){            
      		num3 = a[q];            
      		break;        
      		}                
      	}    //printf(" %d ", a[3]);    
      	printf("%d %d", num3, nums);    
      	return 0;
}

*本人才识浅陋,粗陋建议仅供参考。 *

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Echo_Wish

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值