首页 > 约数个数的和
头像 剑桥童鞋
发表于 2021-10-02 10:31:27
题目描述:给个n,求1到n的所有数的约数个数的和; 输入描述:一行一个正整数n,n <= 100000000 输出描述:输出一个整数,表示答案; 解析: 首先我们可以知道这是一道简单的数学题,考察我们对n个数约数的求解. 我们知道对于单个数n,它的约数可以进行组合.即1和n为一组, 2和n/2 展开全文
头像 威风镰鼬
发表于 2021-11-24 22:04:01
思路 对数论初学者来说可能有点困难,但想通了会觉得相当简单。 我们考虑每个数是多少个数的约数,然后贡献到答案中即可, 那么对于n个数,数字p是n/p个数的约数,答案直接加上即可。 代码 #include<bits/stdc++.h> #define inf 0x3f3f3f3f #def 展开全文
头像 jahup
发表于 2020-03-13 12:15:20
代码块 ``` #include using namespace std; typedef unsigned long long ull; int main() {int n; cin>>n; ull ans=0; for(int i=1;i<=n;i++) ans=a 展开全文
头像 4AM-ZY
发表于 2021-04-05 20:48:51
思路:n的范围为 n <= 100000000暴力显然不行所以通过计算 1 ~ n 中每个数的 贡献次数(即每个数作为约数的出现次数) 求和即可。例如 n=3 时 集合为{1,2,3}此时3 1 = 3 即为 1 对于集合的贡献次数3 2 = 1 即为 2 对于集合的贡献次数3 展开全文
头像 腾龙之巅
发表于 2020-10-17 17:34:43
#include<stdio.h> int main() {     int n,i,sum=0;     scanf("%d",&n);    &n 展开全文
头像 划水_小星
发表于 2020-09-01 07:56:27
题目链接:https://ac.nowcoder.com/acm/problem/14682思路:计算n以内每个数的贡献次数求和即可。代码: //#include<bits/stdc++.h> #include<iostream> #include<cstdio> 展开全文
头像 Bailongma
发表于 2022-05-26 08:21:12
这题的求解,首先要根据数据规模和时间要求,设计符合的算法。 求1到n的全部数的约束个数和,自然的思考方式,是看每个数的约束个数然后相加,这种计算复杂度O(n2)O(n^2)O(n2)。 思考:因为1到n任一数的约数范围是1到那个数,那么我们可以遍历1到n,看每个数在1到n中有多少个倍数,也就 展开全文
头像 张广文
发表于 2020-03-23 20:15:41
include<bits/stdc++.h> using namespace std;typedef long long ll;int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); ll ans=0; 展开全文