为什么这样做会有测试点不能通过呢,自己看了好几遍还是不知道为什么,谢谢大家
查看原帖
为什么这样做会有测试点不能通过呢,自己看了好几遍还是不知道为什么,谢谢大家
981619
Ceceliaaaaa楼主2023/10/13 10:40
#include<stdio.h>
int if_is_maxessential(int n,int m,int essential);
int main(void)
{
    int input1,input2,dis1,dis2,ans=0;
    scanf("%d %d",&input1,&input2);
    
    for(dis1=2;dis1<=input2;dis1++)
    {
        if((input1*input2)%dis1==0)
        {
            dis2=(input1*input2)/dis1;
            if(if_is_maxessential(dis1,dis2,input1))
                ++ans;
        }
    }
    printf("%d",ans);
    
    return 0;
 } 
 int if_is_maxessential(int n,int m,int essential)
 {
     int min,i,essen;
     min=(n<m)?n:m;
     for(i=2;i<=min;i++)
     {
         if( (n%i==0)&&(m%i==0))
                 essen=i;
     }
     
     if(essen==essential)
         return 1;
    else return 0;     
 }
 
 
2023/10/13 10:40
加载中...