首页 > 其他 > 详细

lightoj1336数论基础

时间:2017-03-04 20:47:06      阅读:219      评论:0      收藏:0      [点我收藏+]
#include<iostream>
#include<cstdio>
#include<cmath>
#define ll long long
using namespace std;
int main()
{
    int t;
    scanf("%d",&t);
    for(int k=1;k<=t;k++)
    {
        ll n;
        scanf("%lld",&n);
        ll ans=n-(ll)sqrt((double)n)-(ll)sqrt((double)n/2);
        printf("Case %d: %lld\n",k,ans);
    }
    return 0;
}

做了半天都是超时,一直在想怎么用位运算减少时间,最后无奈看答案,发现居然有公式!!!

数论的题目好多都是套格式,知道公式一步到位,不知道想到死都想不出来

lightoj1336数论基础

原文:http://www.cnblogs.com/acjiumeng/p/6502597.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!