• 南阳理工ACM(题目56)


    描述

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

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

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

    15

    参考题解ac:

    #include <stdio.h>
    int main(void)
    {
    int N,n,m,count;
    scanf("%d",&N);
    while(N--)
    { count=0;
    scanf("%d%d",&n,&m);
    while(n)
    {
    n=n/m;
    count=count+n;
    }
    printf("%d ",count);
    }
    return 0;
    }


    最优参考:

     
    #include<iostream>
    using namespace std;
    int get(int n,int num)
    {
    if(n==0) return 0;
    else return get(n/num,num)+n/num;
    }
    int main()
    {
    int n;
    cin>>n;
    while(n--)
    {
    int a,b;
    cin>>a>>b;
    cout<<get(a,b)<<endl;
    }
    }        


    较差方案ac:

    #include <stdio.h>
    int main()
    {
    int N;
    scanf("%d",&N);
    while(N--)
    {
      int m,n,i,j,count=0;
      scanf("%d%d",&m,&n);
      for(i=2;i<=m;i++)
      {
      j=i;
        while(j)
        {
        if(j%n==0)
        {
        count++;
        j=j/n;
       }
       else
       break;
        }
      }
      printf("%d ",count);             //不添加换行就WR,也不知道为啥?
    }
     return 0;
    }

  • 相关阅读:
    Python实现客观赋权法
    Python实现熵值法确定权重
    正则化项L1和L2
    特征工程的归一化和标准化
    CentOS下Neo4j安装教程
    Window下Neo4j安装教程
    Window下JDK安装教程
    Git 命令
    Kubernetes 资源清单 常用字段,Pod 实例
    kubernetes 集群搭建
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258752.html
Copyright © 2020-2023  润新知