第一次解题报告

来源:互联网 发布:大连网络咨询男科 编辑:程序博客网 时间:2024/05/16 23:34

今天比赛的一条水题。。。。


主要思路就是简化运算,昨天受到素数选择的启发 可以在算出前一个因子的时候直接算出与其相对的后一个因子。

这种算法思想应该牢记。

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


int main()
{
    int x,sum;
    int i,sq;
    while(scanf("%d",&x)!=EOF)
    {
        if(x==1)
            printf("<\n");
        else
        {
            sum=1;
            sq=sqrt(x);
            for(i=2;i<=sq;i++)
            {
                if(x%i==0)
                {
                    if(sq*sq==x&&i==sq)
                        sum+=i;
                    else
                        sum+=(i+x/i);
                }
            }
            if(sum>x)
                printf(">\n");
            else if(sum<x)
                printf("<\n");
            else
                printf("=\n");
        }
    }
}


0 0
原创粉丝点击