《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;
    }
相关推荐
漫随流水1 天前
leetcode算法(151.反转字符串中的单词)
数据结构·算法·leetcode
ada7_1 天前
LeetCode(python)78.子集
开发语言·数据结构·python·算法·leetcode·职场和发展
DeepVis Research1 天前
【AGI/Simulation】2026年度通用人工智能图灵测试与高频博弈仿真基准索引 (Benchmark Index)
大数据·人工智能·算法·数据集·量化交易
努力学算法的蒟蒻1 天前
day52(1.3)——leetcode面试经典150
算法·leetcode·面试
leoufung1 天前
LeetCode 97. 交错字符串 - 二维DP经典题解(C语言实现)
c语言·算法·leetcode
leiming61 天前
c++ map容器
开发语言·c++·算法
杨校1 天前
杨校老师课堂备赛C++信奥之模拟算法习题专项训练
开发语言·c++·算法
世洋Blog1 天前
AStar算法基础学习总结
算法·面试·c#·astar·寻路
haing20191 天前
七轴协作机器人运动学正解计算方法
算法·机器学习·机器人
谈笑也风生1 天前
把二叉搜索树转换为累加树(一)
算法