《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;
    }
相关推荐
网安INF3 分钟前
数据结构第二章复习:线性表
java·开发语言·数据结构
米粒14 分钟前
力扣算法刷题 Day 36
算法·leetcode·职场和发展
北顾笙9805 分钟前
day21-数据结构力扣
数据结构
And_Ii7 分钟前
3740. 三个相等元素之间的最小距离 I
c++·算法
csuzhucong7 分钟前
puzzle(0334)双面数局
数据结构·算法
强盛机器学习~7 分钟前
2026年SCI一区新算法-贝塞尔曲线优化算法(BCO)-公式原理详解与性能测评 Matlab代码免费获取
算法·matlab·进化计算·智能优化算法·元启发式算法·群体智能算法
翟天保Steven10 分钟前
空间载波移相干涉算法(SPSI)
算法·激光干涉·精密量测
xin_nai15 分钟前
判断质数(Java版)
算法
W230357657329 分钟前
经典算法详解:最大子数组和(暴力 / 分治 / 动态规划 / 线段树)
算法·动态规划·最大字段和
呼啦啦56131 分钟前
leetcode练习——栈和队列
算法·leetcode·职场和发展