[南阳OJ-No.56]阶乘因式分解(一)|给定两个数m,n,其中m是一个素数。 将n(0

南阳OJ-No.34

时间限制3000ms,内存限制65535KB,难度2

描述

给定两个数m,n,其中m是一个素数。
将n(0<=n<=10000)的阶乘分解质因数,求其中有多少个m。

输入

第一行是一个整数s(0 < s <= 100),表示测试数据的组数
随后的s行, 每行有两个整数n,m。

输出

输出m的个数。

样例输入

2
100 5
16 2

样例输出

24
15


JAVA

时间32,内存246

import java.util.Scanner;

public class Main {
    public static Scanner cin = new Scanner(System.in);
    public static int N, m, n, count, temp=0, j, i;
    //count 用于计数,temp用于每阶运算,i用于外层循环,j用于内层循环

    public static void main(String[] args) throws Exception {   
        N = cin.nextInt();
        for (i=0; i<N; i++) {
            count = 0;
            n = cin.nextInt();
            m = cin.nextInt();
            j = n;
            temp = n;

            while (n != 0) {
                n = n/m;
                count = count + n;
            }

            System.out.println(count);
        }
    }
}

C++

我就不写了=_=

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章