洛谷 P1403 约数研究

    xiaoxiao2026-04-19  5

    题目地址:http://www.luogu.org/problem/show?pid=1403 题目描述

    科学家们在Samuel星球上的探险得到了丰富的能源储备,这使得空间站中大型计算机“Samuel2”的长时间运算成为了可能。由于在去年一年的辛苦工作取得了不错的成绩,小联允许用“Samuel2”进行数学研究。

    小联最近在研究和约数有关的问题,他统计每个正数N的约数的个数,并以f(N)来表示。现在小联希望用“Samuel2”来统计f(1)到f(N)的累加和M。

    f(n)表示n的约数个数,现在给出n,要求求出f(1)到f(n)的总和。

    输入输出格式

    输入格式: 输入一行,一个整数n

    输出格式: 输出一个整数,表示总和

    输入输出样例

    输入样例#1: 3 输出样例#1: 5 说明

    【数据范围】

    20%N<=5000

    100%N<=1000000 思路: 有这样一个规律, 以n=10为例,10以内的数,约数有1的为10/1==1个,约数有2的为10/2==5个 有这样一个规律就很好求了 PS:一直没思路,后来看别人博客看到这个规律,太机智了

    #include<cstdio> #include<iostream> using namespace std; int main() { int n,i,s=0; cin>>n; for(i=1;i<=n;i++) s+=n/i; cout<<s; return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-1308999.html
    最新回复(0)