题目链接

一道比较简单的莫比乌斯反演,不过ans会爆long long,我是用结构体来存结果的,结构体中两个LL型变量分别存大于1e17和小于1e17的部分

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;

const int maxn=1e6;

];
];
];

void init()
{
    mu[]=;
    ;
    ;i<=maxn;i++)
    {
        if(!check[i])
        {
            prime[tot++]=i;
            mu[i]=-;
        }
        ;j<tot;j++)
        {
            if(i*prime[j]>maxn) break;
            check[i*prime[j]]=true;
            )
            {
                mu[i*prime[j]]=;
                break;
            }
            else
            {
                mu[i*prime[j]]=-mu[i];
            }
        }
    }
}

LL n;

const LL mod=1e17;
struct node
{
    LL a,b;
    node(LL a_=,LL b_=)
    {
        a=a_,b=b_;
    }
    void print()
    {
        if(a)    printf("%lld%017lld\n",a,b);
        else printf("%lld\n",b);
    }
};

node add(node x,LL y)
{
    )
    {
        LL t1=(x.b+y)/mod;
        LL t2=(x.b+y)%mod;
        x.a+=t1,x.b=t2;
        return x;
    }
    else
    {
        LL t1=(x.b+y)/mod;
        LL t2=(x.b+y)%mod;
        &&t2<) t2+=mod,t1--;
        x.a+=t1,x.b=t2;
        return x;
    }
}

int main()
{
    init();
    int T;
    node t;
    LL x;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%lld",&n);
        node ans;
        ;i<=n;i++)
            ans=add(ans,mu[i]*(n/i)*(n/i)*(n/i));
        ;i<=n;i++)
            ans=add(ans,mu[i]*(n/i)*(n/i)*);
        ans=add(ans,);
        ans.print();
    }
}

最新文章

  1. ecshop二次开发常用文件位置
  2. 修复HTTP 503错误
  3. jQuery.queue源码分析
  4. iOS 直播(一)
  5. ActiveMQ 学习笔记
  6. cli下的php(并传递参数)
  7. 折腾iPhone的生活——我的越狱插件精品筛选
  8. zendguard安装破解
  9. JS 数组扩展函数--求起始项到终止项和
  10. Html辅助方法 之 Form表单标签
  11. 【DFS+小操作判重】【HDU2610+HDU2611】Sequence
  12. 在centos中添加开机自启动服务
  13. Selenium常用API用法示例集----下拉框、文本域及富文本框、弹窗、JS、frame、文件上传和下载
  14. Core官方DI解析(5)-ServiceProviderEngine
  15. 高级组件——进度条 JProgressBar
  16. 【Linux】ODBC安装
  17. 常见URL字符及URL编码值
  18. NetBeans 启动时出现 Invalid jdkhome specified提示
  19. 15、xtrabackup 全量备份
  20. 初识 Swift编程语言(中文版)

热门文章

  1. Java实体类之间的映射(一对一关系)
  2. Python字典的json格式化处理(换行与不换行)
  3. Vue知识整理4:v-html标签
  4. js中parseInt()与parseFloat(),Number(),Boolean(),String()转换
  5. Java ——if条件语句 switch语句
  6. django amdin后台改成中文
  7. linux eclipse 下出现undefined reference ***,在使用boost库时出现的问题
  8. C# DropDownList绑定添加新数据的三种方法
  9. SpringBoot 使用logback
  10. [Web 前端] 002 html 常用行行级元素