当前位置: 首页 > article >正文

质因数分解

题面给定整数 a,b如果 a%b0则称 b 是 a 的因数。现在给定一个整数 n计算整数 n 的阶乘的因数个数。输入格式:一行输入一个整数 n(1≤n≤50)。输出格式:输出一个整数表示 n! 的因数个数。输入样例:5输出样例:16题解 分解质因数 唯一分解定理唯一分解定理任何一个大于1的整数n都可以分解成若干个素因数的乘积如果不计各个素因数的顺序那么这种分解是唯一的n p 1 a 1 p 2 a 2 . . . p k a k np_1^{a_1}p_2^{a_2}...p_k^{a_k}np1a1​​p2a2​​...pkak​​n的因数就是这些素因数组合根据乘法原理c n t ( a 1 1 ) ( a 2 1 ) . . . ( a k 1 ) cnt(a_11)(a_21)...(a_k1)cnt(a1​1)(a2​1)...(ak​1)1因为有不取该素因数的组合情况nint(input())a[0]*51p[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47]ans1foriinrange(1,n1):xi# 分解质因数forjinp:ifjiorx1:breakelse:whilex%j0:x//j a[j]1foriina:ifi0:ans*(i1)print(ans)相关例题十一届蓝桥B组C题mapint,intm;vectorintp;voidfind_p(intx){//欧拉筛stl版本m[0]m[1]1;forr(i,2,x){if(!m.count(i)){p.push_back(i);coutiendl;}for(autoj:p){if(i*jx)break;m[i*j]1;if(i%j0)break;//i能筛掉的已经被j筛掉了}}}inta[110];voidsolve(){intn100;find_p(n);forr(i,1,n){intxi;for(autoj:p){if(ji||x0)break;while(x%j0){a[j];x/j;}}}intans1;forr(i,1,100)if(a[i]0)ans*(a[i]1);coutansendl;}十三届蓝桥杯省赛A组 数的拆分结合分治 用数据范围卡找质数的范围质因数分解a x 1 y 1 x 2 y 2 ( y 1 , y 2 ≥ 2 ) ax_1^{y_1}x_2^{y_2}(y_1,y_2\geq 2)ax1y1​​x2y2​​(y1​,y2​≥2)可以看作两个桶定y 1 y_1y1​为偶次幂定y 2 y_2y2​为奇次幂对分解后质因数p y p^ypyc为1放哪也不行输出noy为偶直接乘入偶次幂项y为奇设定y 2 ≤ y ( y 2 3 ) y_2\leq y(y_23)y2​≤y(y2​3)先把一部分乘入奇次幂项中y − y 2 y-y_2y−y2​为偶数乘入偶次幂项但是筛1e18很大需要分大质因数和小质因数发现p y p^ypy如果y yy很大那么底数p pp就必须很小。如果y 2 y2y2平方底数p pp最大可以是10 18 10 9 \sqrt{10^{18}} 10^91018​109。如果y 3 y3y3立方底数p pp最大可以是10 18 3 10 6 \sqrt[3]{10^{18}} 10^631018​106。如果y 4 y4y4底数p pp最大是10 4.5 ≈ 31622 10^{4.5} \approx 31622104.5≈31622。如果y 5 y5y5底数p pp最大是10 3.6 ≈ 3981 10^{3.6} \approx 3981103.6≈3981。注意看y 5 y5y5的情况一旦底数p 4000 p 4000p4000那么p 5 p^5p5就已经超过10 18 10^{18}1018了。这意味着对于所有大于 4000 的质数P PP它在10 18 10^{18}1018范围内的指数y yy只能是 2、3 或 4。我们就不需要用循环去除法试除法去处理它们了直接用开方判断即可。所以我们将问题拆分为两部分小数部分p ≤ 4000 p \le 4000p≤4000指数y yy可能很大比如2 60 2^{60}260无法通过开方判断。策略必须用试除法筛法循环取模把所有小质因子除干净并统计指数。代价4000 以内的质数只有约 550 个运算量极小完全可以接受。大数部分p 4000 p 4000p4000剩下的数tp只可能是1 11、P PP、P 2 P^2P2、P 3 P^3P3、P 4 P^4P4或P 1 × P 2 P_1 \times P_2P1​×P2​。策略直接对剩下的tp进行开平方、开立方判断。原因如果tp是合法的它一定是个完全平方数或立方数如果它是个一次方的大质数或两个大质数之积开方检测会失败constintN4000,M1e5;constdoublePIacos(-1);constlonglongmod998244353,inf1e18;vectorintprime;voidfind_p(){vectorboolvis(N2,0);vis[0]vis[1]1;forr(i,2,N){if(vis[i]0){prime.push_back(i);}for(autop:prime){if(p*iN)break;vis[i*p]1;if(i%p0)break;}}}voidsolve(){intx;cinx;if(x1)returnno,void();inttpx,fg1;// 分解质因数// int tppx;// forr(i,2,x){//超时// int cnt0;// while (tpp%i0)// {// cnt;// tpp/i;// }// if(cnt0)couti cntendl;// }for(autop:prime){if(p*px)break;intcnt0;while(tp%p0){tp/p;cnt;}if(cnt1)returnno,void();}// 此时剩下的tp是4000的因数组成的// 判断是否为二/三次方intsqsqrt(tp),cb1.0*cbrt(tp);if(sq*sqtp)returnyes,void();else{// 邻域检查double存储精度问题 精确表示的整数范围大约是10^16 开立方根后 根可能比实际的根略小while(cb*cb*cbtp){if(cb*cb*cbtp)returnyes,void();cb;}}/* 一开始的写法 int sqsqrt(tp),cbcbrt(tp); if(sq*sqtp)fg1; else if(cb*cb*cbtp)fg1; */no;}

相关文章:

质因数分解

题面 给定整数 a,b,如果 a%b0,则称 b 是 a 的因数。 现在给定一个整数 n,计算整数 n 的阶乘的因数个数。 输入格式: 一行输入一个整数 n(1≤n≤50)。 输出格式: 输出一个整数,表示 n! 的因数个数。 输入样例: 5 输出样例:…...

Qwen2.5-VL-7B-Instruct效果对比:vs InternVL2、LLaVA-1.6在中文场景表现

Qwen2.5-VL-7B-Instruct效果对比:vs InternVL2、LLaVA-1.6在中文场景表现 1. 多模态视觉-语言模型概述 Qwen2.5-VL-7B-Instruct是阿里云推出的新一代多模态视觉-语言模型,专为中文场景优化设计。该模型能够同时理解图像和文本输入,并生成符…...

开源工具Unlock Music:重获音频自由的完整指南

开源工具Unlock Music:重获音频自由的完整指南 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://gitc…...

Formbricks v3.5.0发布:移动端体验革命与缓存性能倍增

Formbricks v3.5.0发布:移动端体验革命与缓存性能倍增 【免费下载链接】formbricks Open Source Qualtrics Alternative 项目地址: https://gitcode.com/GitHub_Trending/fo/formbricks Formbricks作为一款开源的Qualtrics替代方案,在v3.5.0版本中…...

如何免费解锁百度网盘SVIP下载:Mac版终极加速指南

如何免费解锁百度网盘SVIP下载:Mac版终极加速指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘缓慢的下载速度而烦恼吗&a…...

C++ STL 容器选型实战:vector/list/map/unordered_map 性能对比与选型指南

一、前言:为什么容器选型是 C 工程的核心?在 C 后端开发、Qt 桌面应用、高性能服务器、嵌入式系统、游戏引擎、实时仿真、数据分析等几乎所有工业级项目中,STL 容器的选型直接决定程序性能、内存占用、可维护性与稳定性。很多开发者习惯随手写…...

攻克R2R数据迁移难关:PostgreSQL数据库无缝升级实战指南

攻克R2R数据迁移难关:PostgreSQL数据库无缝升级实战指南 【免费下载链接】R2R SoTA production-ready AI retrieval system. Agentic Retrieval-Augmented Generation (RAG) with a RESTful API. 项目地址: https://gitcode.com/GitHub_Trending/r2/R2R R2R作…...

HS2-HF Patch汉化补丁:3分钟实现Honey Select 2游戏完全汉化

HS2-HF Patch汉化补丁:3分钟实现Honey Select 2游戏完全汉化 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 如果你正在寻找一款能够彻底解决Honey …...

Baichuan-7B模型压缩终极指南:如何在保持性能的同时大幅减小模型体积

Baichuan-7B模型压缩终极指南:如何在保持性能的同时大幅减小模型体积 【免费下载链接】Baichuan-7B A large-scale 7B pretraining language model developed by BaiChuan-Inc. 项目地址: https://gitcode.com/gh_mirrors/ba/Baichuan-7B Baichuan-7B是由百川…...

Leantime容器化部署实战指南:从环境搭建到生产运维

Leantime容器化部署实战指南:从环境搭建到生产运维 【免费下载链接】docker-leantime Official Docker Image for Leantime https://leantime.io 项目地址: https://gitcode.com/gh_mirrors/do/docker-leantime 环境准备:部署前的必要检查 系统兼…...

仲景GPT:首个中医大语言模型如何革新传统医学诊疗?[特殊字符]

仲景GPT:首个中医大语言模型如何革新传统医学诊疗?🚀 【免费下载链接】CMLM-ZhongJing 首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。 The first-ever Traditio…...

sing-box性能调优:从内存占用到吞吐量的全面优化

sing-box性能调优:从内存占用到吞吐量的全面优化 引言 sing-box作为通用代理平台(The universal proxy platform),在高并发网络环境下的性能表现直接影响用户体验。本文将从内存管理、连接复用、吞吐量优化三个维度,…...

sing-box常见问题排查:99%的用户都会遇到的坑

sing-box常见问题排查:99%的用户都会遇到的坑 引言 sing-box作为一款功能强大的通用代理平台(The universal proxy platform),在使用过程中难免会遇到各种问题。本文将针对用户最常遇到的配置错误、连接失败、日志分析等问题提供…...

STEP3-VL-10B一文详解:多模态对齐损失函数设计与人类反馈强化学习细节

STEP3-VL-10B一文详解:多模态对齐损失函数设计与人类反馈强化学习细节 1. 引言:为什么一个“小”模型能比肩“大”模型? 最近,一个只有100亿参数的“小”模型在技术圈里引起了不小的轰动。它就是阶跃星辰开源的STEP3-VL-10B。你…...

告别环境冲突:用快马平台标准化流程高效集成openclaw模型

在AI模型开发中,环境配置和模型部署往往是效率瓶颈。最近尝试用InsCode(快马)平台集成openclaw模型时,发现它通过标准化流程解决了三个关键痛点,分享下具体实践: 环境配置自动化 传统本地部署需要手动安装CUDA、PyTorch等依赖&…...

零基础部署Nanbeige 4.1-3B:Streamlit极简UI手把手教程

零基础部署Nanbeige 4.1-3B:Streamlit极简UI手把手教程 如果你对本地运行大语言模型感兴趣,但又被复杂的命令行界面和简陋的Web界面劝退,那么今天这篇文章就是为你准备的。我们将一起完成一个既好看又好用的本地AI对话界面的部署&#xff0c…...

Wan2.2-T2V-A5B科研工具链:Matlab数据可视化与模型输入预处理

Wan2.2-T2V-A5B科研工具链:Matlab数据可视化与模型输入预处理 1. 引言 做科研的朋友们,你们有没有遇到过这样的场景:手头有一堆宝贵的实验数据,想用Wan2.2-T2V-A5B这样的文生视频模型,把数据背后的科学故事“演”出来…...

数据主权守护者:解决微信聊天记录永久保存难题的开源方案

数据主权守护者:解决微信聊天记录永久保存难题的开源方案 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/We…...

终极指南:yaml-cpp多版本共存方案与命名空间隔离

终极指南:yaml-cpp多版本共存方案与命名空间隔离 【免费下载链接】yaml-cpp A YAML parser and emitter in C 项目地址: https://gitcode.com/gh_mirrors/ya/yaml-cpp 在C项目中处理YAML配置文件时,yaml-cpp 是一个功能强大的解析器和发射器库。然…...

圣女司幼幽-造相Z-Turbo效果展示:澄澈苍穹背景的渐变色阶与大气散射光学效果还原

圣女司幼幽-造相Z-Turbo效果展示:澄澈苍穹背景的渐变色阶与大气散射光学效果还原 圣女司幼幽-造相Z-Turbo是基于Z-Image-Turbo的Lora版本模型,专门用于生成《牧神记》中圣女司幼幽的高质量图像。本文将展示该模型在还原澄澈苍穹背景的渐变色阶与大气散射…...

Nano-Banana Studio效果展示:针织帽微观结构拆解与纹理还原

Nano-Banana Studio效果展示:针织帽微观结构拆解与纹理还原 1. 引言:当AI成为你的产品设计师 想象一下,你手里有一顶普通的针织帽。你能看到它的颜色、款式,甚至能摸到它的质感。但如果我让你把这顶帽子“拆开”,把每…...

YimMenu:GTA V游戏增强与安全防护解决方案

YimMenu:GTA V游戏增强与安全防护解决方案 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu 在…...

3大核心功能解析:飞秋Mac版如何实现高效局域网通信

3大核心功能解析:飞秋Mac版如何实现高效局域网通信 【免费下载链接】feiq 基于qt实现的mac版飞秋,遵循飞秋协议(飞鸽扩展协议),支持多项飞秋特有功能 项目地址: https://gitcode.com/gh_mirrors/fe/feiq 还在为Mac与Windows设备间的通…...

AdGuard浏览器扩展终极指南:3步打造无广告浏览体验

AdGuard浏览器扩展终极指南:3步打造无广告浏览体验 【免费下载链接】AdguardBrowserExtension AdGuard browser extension 项目地址: https://gitcode.com/gh_mirrors/ad/AdguardBrowserExtension 你是否厌倦了网页上无处不在的广告弹窗?是否担心…...

HardSourceWebpackPlugin源码解析:从入口到缓存写入的完整流程

HardSourceWebpackPlugin源码解析:从入口到缓存写入的完整流程 【免费下载链接】hard-source-webpack-plugin 项目地址: https://gitcode.com/gh_mirrors/ha/hard-source-webpack-plugin HardSourceWebpackPlugin是一个为Webpack构建过程提供持久化缓存的插…...

5种多屏显示优化方案:专业用户的DPI精准控制指南

5种多屏显示优化方案:专业用户的DPI精准控制指南 【免费下载链接】SetDPI 项目地址: https://gitcode.com/gh_mirrors/se/SetDPI 场景痛点:跨行业的显示一致性难题 内容创作者的显示困境 视频剪辑师张明在4K主显示器上精心调整的画面比例&…...

终极网盘直链解析解决方案:一站式解锁八大平台高速下载通道

终极网盘直链解析解决方案:一站式解锁八大平台高速下载通道 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...

Bowser 与其他浏览器检测库终极对比:优势、劣势和适用场景完整指南

Bowser 与其他浏览器检测库终极对比:优势、劣势和适用场景完整指南 【免费下载链接】bowser a browser detector 项目地址: https://gitcode.com/gh_mirrors/bo/bowser 在当今多浏览器、多平台的Web开发环境中,浏览器检测工具已成为前端开发者的必…...

ComfyUI-VideoHelperSuite全流程掌控:解锁10倍视频处理效率

ComfyUI-VideoHelperSuite全流程掌控:解锁10倍视频处理效率 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 构建高效视频工作流 环境部署与基础配置 …...

实战指南:基于快马平台与comfyui,快速构建带姿势控制的人像卡通化应用

今天想和大家分享一个特别实用的技术方案:如何用ComfyUI快速搭建一个带姿势控制的人像卡通化应用。这个方案特别适合需要批量生成统一风格头像、制作产品海报等场景,我自己在实际工作中就经常用到。 首先说说为什么选择ComfyUI。它是一个基于节点的工作流…...