Est


私信TA

用户名:Est

访问量:20693

签 名:

等  级
排  名 641
经  验 3972
参赛次数 0
文章发表 16
年  龄 0
在职情况 学生
学  校 tjnu
专  业

  自我简介:

解题思路:

        m控制行数,循环里面输入两个数,通过求出一个数的真约数来与另一个数进行比较

注意事项:
        1.真约数不可能大于原数的一般,故只需i>=a/2;

        2.可以在输入a,b后比较大小,求小值的真约数和减少循环;

        3.条件表达式输出,较if-else结构紧凑。
参考代码:

    #include<stdio.h>
    int main()
    {
        int m;
        int a,b;
        int i,sum=0;
    
        scanf("%d",&m);
        while(m--){        //m--控制行数
            scanf("%d%d",&a,&b);
            for(i=1;i<=a/2;i++)
                if(a%i==0)
                    sum+=i;
            printf("%s\n",sum==b?"YES":"NO");    //条件表达式输出
        }
        return 0;
    }


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区