首页 > 其他分享 >3377. 约数的个数(约数个数)

3377. 约数的个数(约数个数)

时间:2023-04-04 23:23:26浏览次数:43  
标签:约数 3377 个数 int num primes include

https://www.acwing.com/problem/content/3380/

这题和第11届蓝桥杯B组国赛题类似

数论知识,就是分解质因数,把质数的指数加1即可

需要注意的是,本题应该是不能用数组模拟的,空间太少了

可以用unordered_map存储

#include<iostream>
#include<cstdio>
#include<cstring>
#include<unordered_map>

using namespace std;

unordered_map<int,int>primes;

int t;

void divide(int n)
{
	for (int i = 2; i <= n / i; i++)
	{
		if (n % i == 0)
		{
			int s = 0;
			while (n % i == 0)
			{
				n /= i;
				s++;
			}
			primes[i] = s;
		}
	}
	if (n > 1)
	{
		primes[n] = 1;
	}
}

int main()
{
	cin >> t;
	while(t--)
	{
		primes.clear();
		int num;
		cin >> num;
		divide(num);
		long long sum=1;
		for(auto p:primes)sum*=p.second+1;
		cout << sum << endl;
	}
}

 

标签:约数,3377,个数,int,num,primes,include
From: https://www.cnblogs.com/lxl-233/p/17288238.html

相关文章

  • 222. 完全二叉树的节点个数
    给你一棵完全二叉树的根节点root,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第h层,则该层包含1~2h个节点。classSolution{public:......
  • 洛谷 P3377 【模板】左偏树(可并堆)题解 左偏树模板题
    题目链接:https://www.luogu.com.cn/problem/P3377维护左偏树的同时还需要维护一个并查集。但是并查集也就一个find操作。pop的时候更新f[x]的操作很神奇。示例程序:#include<bits/stdc++.h>usingnamespacestd;constintmaxn=1e5+5;intn,m,op,x,y,val[m......
  • 【LeetCode排序专题02】最小k个数,关于快速排序的讨论
    最小k个数输入整数数组arr,找出其中最小的k个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例1:输入:arr=[3,2,1],k=2输出:[1,2]或者[2,1]示例2:输入:arr=[0,1,2,1],k=1输出:[0]限制:0<=k<=arr.length<=100000<=arr[i......
  • 最快速度求两个数组之交集算法
    该题目来自58同城的二面,用最快速度求两个数组之交集算法。比如A={6,2,4,1},B={2,9,4,3},那么A&B={2,4}。算法一:在大多数情况,也就是一般的情况下,大家都能想出最暴力的解法,通常也就是采用遍历或者枚举的办法来解决问题。该题需要找出两个数组的交集,最简单的一个办法就是用A数......
  • day16| 222.完全二叉树的节点个数
    104和111题见前一天 222.完全二叉树的节点个数 题目简述:给你一棵完全二叉树的根节点root,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层......
  • 【230402-5】用1,2,3,4四个数字,组成个位是1,且恰好有两个相同数字的四位数,共有几个?
    ......
  • Java实现新建三个线程,每个线程顺序打印5个数字,打印到100
    方法一:synchronized+wait+notify//三个线程循环打印数字,每个打印5个,打印数字到numclassWaitNotifyABC{  privatevolatileintnum=0;//线程共享变量  /**Object和this都可以对同步代码块加锁,但是this锁的是类的实例,如果该实例被他人拿走,  则本线......
  • 约数之和
    约数之和plus0x01背景题目0.定理算术基本定理(正整数唯一分解定律):不考虑排列顺序的情况下,每个正整数都能够以唯一的方式表示成它的质因数的乘积。\(x={p_1}^{k_1}*{p_2}^{k_2}*{p_3}^{k_3}.....{p_n}^{k_n}\)人话:对于每个大于1的自然数,要么本身是质数,要么可以写为两......
  • 力扣---剑指 Offer 57. 和为s的两个数字
    输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例1:输入:nums=[2,7,11,15],target=9输出:[2,7]或者[7,2]示例2:输入:nums=[10,26,30,31,47,60],target=40输出:[10,30]或者[30,10] 限......
  • LeetCode 222.完全二叉树的结点个数
    1.题目:给你一棵完全二叉树的根节点root,求出该树的节点个数。完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第h层,则该层包含1~ 2h 个节点。示例1:输入:root=[1......