质因数分解QwQ 2043洛谷oj
来源:互联网 发布:python 缺省参数 编辑:程序博客网 时间:2024/06/05 16:00
题目描述
对N!进行质因子分解。
输入输出格式
输入格式:
输入数据仅有一行包含一个正整数N,N<=10000。
输出格式:
输出数据包含若干行,每行两个正整数p,a,中间用一个空格隔开。表示N!包含a个质因子p,要求按p的值从小到大输出。
输入输出样例
输入样例#1:
10
输出样例#1:
2 8
3 4
5 2
7 1
说明
10!=3628800=(2^8)(3^4)(5^2)*7
以上题目为落谷2043
主要思想为n!的质因数分解为 统计从2到n的所有质因子然后暴力gao就ok了
gao(int n)用的是短除法 话说我塔型分解也不会
然后主要那几个break;一定要注意!!!!
#include<bits/stdc++.h>using namespace std;#define MN 100005int ans[MN],n,pp[MN],tot;bool ispp[MN];void OLS(){ memset(ispp,1,sizeof(ispp)); for(int i=2;i<=n;i++) { if(ispp[i]) pp[++tot]=i; for(int j=1;j<=tot;j++) { int k=i*pp[j]; ispp[k]=0; if(k>n) break; if(i%pp[j]==0) break; } } ispp[1]=1;}void gao(int nn){ for(int i=1;i<=tot;i++) { if(nn%pp[i]==0) { ans[pp[i]]++; if(!ispp[nn/pp[i]]) { gao(nn/pp[i]);break; } else {ans[nn/pp[i]]++;break;} if(pp[i]==nn) break; } }}int main(){ //freopen("hh.txt","r",stdin); //freopen("b.txt","w",stdout); cin>>n;OLS(); for(int i=n;i>=2;i--) gao(i); for(int i=1;i<=tot;i++) if(ans[pp[i]]) cout<<pp[i]<<" "<<ans[pp[i]]<<endl;}
质因数分解 上课做的 没空写博客了
0 0
- 质因数分解QwQ 2043洛谷oj
- 刷清橙OJ--A1036.分解质因数
- 洛谷 最大质因数分解
- 清橙OJ A1036.分解质因数
- 关于蓝桥杯OJ基础训练之分解质因数
- 【模拟】洛谷 P1075 质因数分解
- 洛谷 P1069 细胞分裂 质因数分解
- 分解质因数
- 分解质因数
- 质因数分解
- 分解质因数
- 质因数分解
- 分解质因数
- 分解质因数
- 质因数分解
- 分解质因数
- 分解质因数
- 分解质因数
- 计算机网络之面试常考
- Android 向右滑动销毁(finish)Activity, 随着手势的滑动而滑动的效果
- 分布式架构学习之:015--ActiveMQ 的安装与使用(单节点)
- 《算法导论》课后题--1--第二章(0)
- Struts2显示没有action name
- 质因数分解QwQ 2043洛谷oj
- Java数据类型的互相转换
- 数据压缩原理实验4_DPCM编解码
- C类型与数值存储
- 山东第八届acm大赛F题quadratic equation,山东理工oj 3898
- 05-树7 堆中的路径 (25分)
- 关于解决SSM-shiro的Spring注入问题
- R语言缺失值处理
- Tensorflow数据读取方式