《P2303 [SDOI2012] Longge 的问题》

题目背景

Longge 的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。

题目描述

现在问题来了:给定一个整数 n,你需要求出 i=1∑n​gcd(i,n),其中 gcd(i,n) 表示 i 和 n 的最大公因数。

输入格式

输入只有一行一个整数,表示 n。

输出格式

输出一行一个整数表示答案。

输入输出样例

输入 #1复制

复制代码
6

输出 #1复制

复制代码
15

说明/提示

数据规模与约定
  • 对于 60% 的数据,保证 n≤216。

  • 对于 100% 的数据,保证 1≤n<232。

  • 代码实现:

    复制代码
    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    
    long long res=1, n;
    
    int main() {
        scanf("%lld", &n);
        long long m = n;
        for (long long i=2; i*i<=n; ++i) {
            if (n%i == 0) {
                m /= i;
                int cnt = 0;
                while (n%i == 0) ++cnt, n /= i;
                res = res * (cnt*(i-1) + i);
            }
        }
        if (n != 1) m /= n, res = res * (2*n - 1);
        cout << res * m << endl;
        return 0;
    }
相关推荐
qyzm6 分钟前
Codeforces Round 1073 (Div. 2)
数据结构·python·算法
jieyucx7 分钟前
Go 零基础数据结构:链表的增删改查(像串珠子一样简单)
数据结构·链表·golang
深邃-2 小时前
【数据结构与算法】-二叉树(2):实现顺序结构二叉树(堆的实现),向上调整算法,向下调整算法,堆排序,TOP-K问题
数据结构·算法·二叉树·排序算法·堆排序··top-k
We་ct5 小时前
LeetCode 5. 最长回文子串:DP + 中心扩展
前端·javascript·算法·leetcode·typescript
王老师青少年编程9 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【哈夫曼贪心】:合并果子
c++·算法·贪心·csp·信奥赛·哈夫曼贪心·合并果子
叼烟扛炮10 小时前
C++第二讲:类和对象(上)
数据结构·c++·算法·类和对象·struct·实例化
天疆说10 小时前
【哈密顿力学】深入解读航天器交会最优控制中的Hamilton函数
人工智能·算法·机器学习
wuweijianlove10 小时前
关于算法设计中的代价函数优化与约束求解的技术7
算法
leoufung11 小时前
LeetCode 149: Max Points on a Line - 解题思路详解
算法·leetcode·职场和发展
样例过了就是过了11 小时前
LeetCode热题100 最长公共子序列
c++·算法·leetcode·动态规划