首页 > 其他分享 >洛谷p1403

洛谷p1403

时间:2024-04-10 18:31:02浏览次数:27  
标签:约数 洛谷 int p1403 sum long mp res

简单数论题求约数个数;

本题需要用到质因数分解求约数个数,如果枚举一个一个求约数个数的话,你将会发现你已经喜提超时,见图1测试(图片);

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int f[N];
int n;
int sum;

void solve(int x){
    
    int cnt=0;
    for(int i=1;i<=x/i;i++){
        if(x%i==0){
            cnt++;
            if(x/i!=i) cnt++;
        }
    }
   
    sum+=cnt;
}
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        solve(i);
    }
   cout<<sum;
    return 0;
}

图一;

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int f[N];
int n;
long long sum;
unordered_map<int ,int > mp;

void solve(int x){
    int m=x;
    
   for(int i=2;i<=x/i;i++){
       while(x%i==0){
           mp[i]++;
           x/=i;
       }
   }
   if(x>1) mp[x]++;
   long long res=1;
   for(auto it=mp.begin();it!=mp.end();it++){
       res*=(it->second+1);
   }
   sum+=res;
   mp.clear();
}
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        solve(i);
    }
   cout<<sum;
    return 0;
}

图二;

标签:约数,洛谷,int,p1403,sum,long,mp,res
From: https://blog.csdn.net/2303_76815666/article/details/137603284

相关文章

  • 洛谷 官方题库 Python 第十一天
    【数学1】基础数学问题最大公约数gcd=math.gcd(a,b)注意这个gcd支持传入多参数,有两种写法,建议用星号,因为reduce如果a是空数组会报错。注意gcd(a,0)=a,即任意数和0的gcd都是自己,参照循环相减法。gcd(*a)是Python中的一种用法,它可以计算传递给函数gcd()的可变数量的参数的......
  • 洛谷 P8949 [YsOI2022] 淀粉树
    洛谷传送门考虑\(d=2\)的部分分。相当于只用\(2\)次操作把\(T\)变成一条链。不妨设最后变成的是一个\(1\simn\)的链,如果不是可以把点重编号。第一次操作考虑以\(n\)为根,每次取每个儿子的子树中的最大值为新的根并和原来的根连边,这样会将整棵树具有堆的性质,即父亲......
  • 洛谷题单指南-数学基础问题-P3383 【模板】线性筛素数
    原题链接:https://www.luogu.com.cn/problem/P3383题意解读:素数筛模版题。解题思路:素数筛介绍所谓素数(质数),是指除了1和它本身以外不再有其他因数的自然数,一般用试除法判断素数(时间复杂度:O(sqrt(n))):boolisprime(intx){if(x<=1)returnfalse;for(inti=2;i*......
  • 洛谷题单指南-数学基础问题-P2926 [USACO08DEC] Patting Heads S
    原题链接:https://www.luogu.com.cn/problem/P2926题意解读:有n个数,计算每个数能整除其他数的个数。解题思路:a[100005]记录所有的数,h[1000005]记录所有数的个数,cnt[1000005]记录所有数能整除其他数的个数只需要读入a数组,同时更新h[a[i]]++再依次从小到大遍历h的下标每一个数i,如......
  • 洛谷 P1518 [USACO2.4] 两只塔姆沃斯牛 The Tamworth Two
    [USACO2.4]两只塔姆沃斯牛TheTamworthTwo题目描述两只牛逃跑到了森林里。FarmerJohn开始用他的专家技术追捕这两头牛。你的任务是模拟他们的行为(牛和John)。追击在的平面网格内进行。一个格子可以是:一个障碍物,两头牛(它们总在一起),或者FarmerJohn。两头牛和FarmerJohn......
  • 洛谷题单指南-数学基础问题-P2638 安全系统
    原题链接:https://www.luogu.com.cn/problem/P2638题意解读:把a个红球、b个黑球放入n个盒子,求所有的方法。解题思路:盒子中可以放也可以不放,可以放任意个,因此,题目可以转化为将i个红球(0<=i<=a),j个黑球(0<=j<=b)放入n个盒子的方案数之和,设f(n,i,j)表示将一个红球、j个黑球放入n......
  • 洛谷题单指南-数学基础问题-P3913 车的攻击
    原题链接:https://www.luogu.com.cn/problem/P3913题意解读:车所在的行、列一共有多个个格子。解题思路:假设3*3的棋盘,有三个车分析得知,三个车覆盖了第1、2两行,第2、3两列,覆盖的格子数用公式计算就是2*3+2*3-2*2=8也就是两行格子数加两列格子数再减去交叉点。因此......
  • 进阶版Python编程题(2)洛谷(小学数学N合一)
    问题1请输出 IloveLuogu!问题2这里有 10 个苹果,小A拿走了 2 个,Uim拿走了 4 个,小B拿走剩下的所有的苹果。我们想知道:小A和Uim两个人一共拿走多少苹果?小B能拿走多少苹果?现在需要编写一个程序,输出两个数字作为答案,中间使用空格分开。问题3现在有 1......
  • 进阶版Python编程题(1)洛谷
    题目描述学校和yyy的家之间的距离为 s千米,而yyy以 v 米每分钟的速度匀速走向学校。在上学的路上,yyy还要额外花费 10 分钟的时间进行垃圾分类。学校要求必须在上午 8:00 到达,请计算在不迟到的前提下,yyy最晚能什么时候出门。由于路途遥远,yyy可能不得不提前一......
  • 【题解】洛谷马的遍历
    马的遍历方法:广度优先搜索源代码如下#include<iostream>#include<queue>#include<cstdio>#include<cstring>usingnamespacestd;structcoord{//结构体定义x,y坐标intx,y;};queue<coord>Q;intans[500][500];//-1代表未访问intwalk[8......