阶乘因式分解(一)
来源:互联网 发布:四川广电网络广元 编辑:程序博客网 时间:2024/06/06 07:20
阶乘因式分解(一)
时间限制:3000 ms | 内存限制:65535 KB
难度:2
- 描述
给定两个数m,n,其中m是一个素数。
将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。
- 输入
- 第一行是一个整数s(0<s<=100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。 - 输出
- 输出m的个数。
- 样例输入
2100 516 2
- 样例输出
2415
来源
思路:
分解质因数:举个简单例子,12的分解质因数可以有以下几种:12=2x2x3=4x3=1x12=2x6,其中1,2,3,4,6,12都可以说是12的因数,即相乘的几个数等于一个自然数,那么这几个数就是这个自然数的因数。2,3,4中,2和3是质数,就是质因数,4不是质数。那么什么是质数呢?就是不能再拆分为除了1和它本身之外的因数的数,如2,3,5,7,11,13,17,19,23,29等等,质数没有什么特定的规律,不存在最大的质数。这里的质数也就是题目中说的素数n是比较大的如果直接算阶乘的话肯定是不行的。100!=1*2*3......*99*100; 1~100中5的倍数有20个数5、10、15...... 一共20个,除以5后 1、2、3......20。在这20个数中还有5 的倍数有5、10、15、20,一共4个。除以5后,,1、2、3、4在没有五的倍数了。所以有 20+4个。#include<iostream>using namespace std;int main(){ int T; int n,m,sum; cin>>T; while(T--) { cin>>n>>m; sum=0; while(n) { sum+=n/m; n/=m; } cout<<sum<<endl; } return 0;}
阅读全文
0 0
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- 阶乘因式分解(一)
- FFmpeg裁剪说明
- 快速排序
- 尊重自己的选择
- 移动测试基础 Android 常用 adb 命令总结
- c语言内存四区
- 阶乘因式分解(一)
- leftmost digit
- Python 编码解码的问题(学习笔记+总结思考)
- 如何将一个 镜像 pull到docker服务器上,并且实现该image 处于 up状态?
- 贪心 + 数学 (POJ 1862)
- __stdcall,__cdecl,__fastcall的区别
- form表单的理解
- 项目3-求最大公约数
- JMeter官方文档翻译----如何开始JMeter-1