Acwing-870. 约数个数

2023-11-06

N的任何一个约数都是d的形式,而且d每一项的指数都不同,所以N的约数与β1~βk的取法是一致的,N的每一个约数都对应了β1~βk的一种取法,不同的取法对应不同的约数(由算数基本定理,每一个数的因式分解是唯一的,只要因式分解不一样,那么这两个数就不一样),β1~βk的选法就是乘法原理,β1是0~α1,一共是(α1 + 1)种选法,......以此类推,得出β1~βk的选法个数,也就是N的约数的个数。

算数基本定理的定义如下:

#include <iostream>
#include <unordered_map>

using namespace std;

typedef long long LL;

const int mod = 1e9 + 7;

int main()
{
    int x;
    cin >> x;
    
    unordered_map<int, int> primes;
    while (x --)
    {
        int n;
        cin >> n;
        
        for (int i = 2; i <= n / i; ++ i)
        {
            while (n % i == 0) 
            {
                primes[i] ++;
                n = n / i;
            }
        }
        if (n > 1) primes[n] ++;
    }
    
    LL res = 1;
    for (auto prime : primes) res = res * (prime.second + 1) % mod;
    cout << res << endl;
    
    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Acwing-870. 约数个数 的相关文章

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 对于某些 PDF 文件,LoadIFilter() 返回 -2147467259

    我正在尝试使用 Adob e IFilter 搜索 PDF 文件 我的代码是用 C 编写的 我使用 p invoke 来获取 IFilter 的实例 DllImport query dll SetLastError true CharSet
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • 当文件流没有新数据时如何防止fgets阻塞

    我有一个popen 执行的函数tail f sometextfile 只要文件流中有数据显然我就可以通过fgets 现在 如果没有新数据来自尾部 fgets 挂起 我试过ferror and feof 无济于事 我怎样才能确定fgets 当
  • 为什么 std::uint32_t 与 uint32_t 不同?

    我对 C 有点陌生 我有一个编码作业 很多文件已经完成 但我注意到 VS2012 似乎有以下语句的问题 typedef std uint32 t identifier 不过 似乎将其更改为 typedef uint32 t identifi
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • Array的reduce方法

    let arr 1 2 3 4 5 6 arr reduce function pre value index array console log pre value 结果如下 1 2 undefined 3 undefined 4 und
  • lpad()函数oracle,oracle 中lpad的用法

    pad翻译 填充 lpad函数 在字符串的左侧添加指定字符串 用法 lpad String 截取长度 添加的字符串 说是添加字符串也不准确 比较准确的说法是对String进行截取字符串 如果截取长度大于String的长度 则在 String
  • nginx离线安装与SSL配置

    离线安装nginx 如果系统没有nginx所需环境 gcc prec等 下载链接 https download csdn net download qq 45497146 87340629 进入此文件下执行 rpm Uvh rpm node
  • 同时使用mybatis和mybatis-plus时,pageHelper失效问题解决

    添加一个类 这个类用于初始化 PageInterceptor 这个类 这一次尝试成功 正确返回分页数据 代码如下 import com baomidou mybatisplus extension plugins inner Paginat
  • Vue 项目中按需引入 ElementUI

    安装 ElementUI npm i element ui save 安装 babel plugin component npm install babel plugin component D 打开项目根目录下的 babel config
  • 智能优化算法-布谷鸟搜索算法Cuckoo Search algorithm(附Matlab代码)

    引言 布谷鸟搜索算法Cuckoo Search algorithm算法是另一种非线性元启发式算法 由Yang Xin She和Suash Deb于2009年提出在Pro ceedings of World Congress on Natur
  • RedHat 6.4启动卡在Starting certmonger

    yum groupinstall X Window System 调整 etc inittab id 5 initdefault 重启主机 一直卡在starting certmonger Ctrl Alt F2进入命令行界面是正常的 再调整
  • SpringSecurity基础教程

    SpringSecurity 目标 权限管理简介 了解 权限管理解决方案 掌握 初识Spring Security 了解 Spring Security 认证配置 重点 Spring Security 鉴权配置 重点 Spring Secu
  • OSI七层协议和TCP四层协议

    应用层 直接为用户的应用进程提供服务 如 HTTP 支持文件传输的 FTP 协议等 运输层 向两个主机中进程之间的通信提供服务 由于一个主机可同时运行多个进程 因此运输层有复用和分用的功能 复用就是多个应用层进程可同时使用下面运输层的服务
  • linux根据进程名称,查看后台任务的运行目录

    linux后台跑一堆python的时候想关闭一个程序都不知道哪个是哪个 使用ps ef也可以查看 不过内容比较多 容易误杀 所以我们改进一下 主要使用的命令有两个 pgrep 它可以列出所有这个进程名运行的进程id 比如pgrep pyth
  • HLSL Introduction

    By Chang Li High Level Shading Language HLSL a programming language for Graphic Processing Unit GPU in DirectX 9 10 11 s
  • VMware安装Linux后自动获取IP地址

    1 VMware网络连接设置为桥接模式 2 进入Linux系统 ifconfig查看IP地址信息 3 cd etc sysconfig network scripts 4 vim ifcfg eth0 5 ONBOOT yes 6 serv
  • smali文件对比java文件

    smali文件对比java文件 class 类名 super 父类 source 源文件名 implements 继承的接口 field 类成员变量 method 类方法 parameter 函数参数 p1 p2 locals x 局部变量
  • 活动目录服务详细操作

    作者 小刘在C站 个人主页 小刘主页 每天分享云计算网络运维课堂笔记 努力不一定有收获 但一定会有收获加油 一起努力 共赴美好人生 夕阳下 是最美的绽放 树高千尺 落叶归根人生不易 人间真情 目录 第一章 Active Directory与
  • 技术赋能水务数字化转型,上海市水旱灾害防御技术中心领导一行调研上海控安

    NEWS 3月1日下午 上海市水旱灾害防御技术中心主任张鹏一行莅临上海控安 对双方联合实验室建设及公司智慧水务板块业务进行调研指导 并就助力上海城市水务高质量发展及数字化转型相关工作展开交流讨论 上海控安总经理蒲戈光 首席信息官杨昆等平台公
  • 【旅行商问题】蚁群算法解决旅行商问题【Matlab】

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 旅行商问题 1 问题描述 2 数学模型 二 蚁群算法 1 引言 2 蚁群算法求解TSP原理 三 源代码 四 结果展示 五 备注 一 旅行商问题 1 问题描述 旅
  • 彻底卸载VMware虚拟机

    开始 gt 运行 gt regedit gt 找到HKEY LOCAL MACHINE gt Software gt VMware inc 把这个整个删除 关闭注册表后 重新运行VMware的安装文件 问题即可解决
  • 前端基础面试题(js、vue、react)

    文章目录 vue2面试题 js面试题 react面试题 vue2面试题 vue的双向绑定原理 双向绑定的原理也叫响应式原理 Vue它是采用数据劫持结合发布者 订阅者模式的方式 通过Object defineProperty 属性的sette
  • 【Redis】Centos7 如何正确的手动安装Redis,简单式安装

    安装包 手动官网下载 redis 4 0 1 tar gz 演示redis的版本 使用wget下载 centos 自带了wget wget http download redis io releases redis 4 0 1 tar gz
  • Acwing-870. 约数个数

    N的任何一个约数都是d的形式 而且d每一项的指数都不同 所以N的约数与 1 k的取法是一致的 N的每一个约数都对应了 1 k的一种取法 不同的取法对应不同的约数 由算数基本定理 每一个数的因式分解是唯一的 只要因式分解不一样 那么这两个数就