Hang签到题系列(2)

TimeLimit:1000MS  MemoryLimit:128MB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem Description

Hang有n个大饼,无聊的Hang在将这n个瓶排成一行,然后 emmmm我要干啥来着的

Hang给每个大饼上编上编号,编号从1~n,Hang从i i∈[1,n],每次把i的倍数的饼都翻过来

Hang想知道最后编号朝上的饼的编号和为多少

因为Hang是个良心出题人,所以Hang把AC代码直接放在了下面,复制粘贴,再加点头文件啥的就能超时

map<int,int>a;

int main()

{

    int t;

    scanf("%d",&t);

    while(t--)

    {

        int n;

        scanf("%d",&n);

        ll ans=0;

        for(int i=1;i<=n;i++)

            a[i]=0;

        for(int i=2;i<=n;i++)

            for(int j=i;j<=n;j+=i)

                a[j]^=1;

        for(int i=1;i<=n;i++)

            if(a[i])

                 ans+=i;

        printf("%lld\n",ans);

    }

    return 0;

}


Input

t组数据(也才1e5组)

每组一个正整数n,因为是签到题,所以n不会超过1e9

Output

每组数据输出一行,如题意所示

SampleInput
1
1
SampleOutput
0
Submit
题目统计信息详细
总AC数24
通过人数18
尝试人数20
总提交量78
AC率23.08%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: