ac数论之之阶乘因式分解

原创 2018年04月16日 15:42:31

阶乘因式分解(二)

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述

给定两个数n,m,其中m是一个素数。

将n(0<=n<=2^31)的阶乘分解质因数,求其中有多少个m。

注:^为求幂符号。

 

输入
第一行是一个整数s(0<s<=100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。 
输出
输出m的个数
样例输入
3
100 5
16 2
1000000000  13
样例输出
24
15

83333329

这道题目如果挨着分析每一个乘项就一定会超时,所以要怎么做呢?

假设n个里面m,2m....一共有n/m个数字能被m整除,那么这m这数字一定至少有一个m那么就有n/m个m

那么这n/m个数字钟能被m^2整除的一定有n/(m*m)个还存在一个m因子的数,那么就有n/m+n/(m*m)个m了

...

只到n/m=0表示剩下的数没有多余的m了

#include<iostream>
using namespace std;
int main()
{
    int ncase;
    cin>>ncase;
    while(ncase--)
    {
        int n,m;
        cin>>n>>m;
        int cnt=0;
        //第一次是m,2m,3m....里边有一个m,这些数一共有n/m个
        //剩下的n/m个数还能被m整除的是n/m/m个
        //剩下的。。。。。
        while(n/m!=0)
        {
            cnt+=n/m;
            n/=m;
        }
        cout<<cnt<<endl;
    }
}

大数据应用开发之数据清洗开胃、生产、实操

-
  • 1970年01月01日 08:00

70 NYOJ 阶乘因式分解(二)

阶乘因式分解(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 给定两个数n,m,其中m是一个素数。 将n(0 注...
  • yjf3151731373
  • yjf3151731373
  • 2016-05-26 19:13:02
  • 392

南阳oj 阶乘因式分解(一)

/* 前提:1 2...n 能被m整除的数有n/m 1*2*3*...n的阶乘一定有k=n/m个m 而且这k个m一定来自 1m 2m ....km(因为m是素数所以不会有两个数相乘后产生m的情...
  • u013491149
  • u013491149
  • 2014-10-17 13:52:33
  • 365

阶乘因式分解(二) nyist

描述 给定两个数n,m,其中m是一个素数。 将n(0 注:^为求幂符号。   输入第一行是一个整数s(0 随后的s行, 每行有两个整数n,m。 ...
  • lois_123
  • lois_123
  • 2014-10-29 21:14:35
  • 420

阶乘的因式分解(一)

今天做oj,发现一道题挺有意思的。题目如下: 阶乘因式分解(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 给定两个数m,n,其中m是一个素数。 ...
  • Amily_K
  • Amily_K
  • 2015-04-11 13:18:57
  • 542

数论常用内容——阶乘

在竞赛中,阶乘也被经常提及,而且总是不那么好处理,下面我就给大家介绍一点关于阶乘常用的内容...
  • tick_tock97
  • tick_tock97
  • 2017-05-04 11:03:42
  • 481

NYOJ 阶乘因式分解(一)

阶乘因式分解(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 给定两个数m,n,其中m是一个素数。 将n(0 输...
  • Scarlett_geng
  • Scarlett_geng
  • 2016-07-19 16:39:30
  • 807

ACM-阶乘因式分解(一)

描述 给定两个数m,n,其中m是一个素数。 将n(0 输入第一行是一个整数s(0 随后的s行, 每行有两个整数n,m。输出输出m的个数。样例输入 2 100 5 16 2 样例输出...
  • u012701023
  • u012701023
  • 2015-05-15 11:47:01
  • 520

【NYOJ】[56]阶乘因式分解(一)

题目细想之下并不难不过确实也能引发一些思考
  • u011493189
  • u011493189
  • 2016-01-26 22:01:30
  • 134

nyoj-阶乘因式分解(一)

阶乘因式分解(一) 给定两个数m,n,其中m是一个素数。 将n(0 输入第一行是一个整数s(0 随后的s行, 每行有两个整数n,m。 输出输出m的个数。 ...
  • u013746460
  • u013746460
  • 2014-03-05 17:30:03
  • 394
收藏助手
不良信息举报
您举报文章:ac数论之之阶乘因式分解
举报原因:
原因补充:

(最多只允许输入30个字)