zoukankan      html  css  js  c++  java
  • HPU--1091 N!的位数

    1091: N!的位数 [数学]

    时间限制: 1 Sec 内存限制: 128 MB

    提交: 97 解决: 12 统计

    题目描述

    我们知道n!=n*(n-1)*(n-2)*…*2*1。

    那么给定一个n,n!是几位数呢。

    更困难的,n!的k进制数有多少位呢。

    输入

    第一行是一个数T(1≤T≤50000),代表T组测试数据。

    每一组测试数据占一行,有两个整数n(0 ≤ n ≤ 10^6),k(2≤k≤1000)。

    输出

    对于每组测试数据,输出n!k进制数的位数。

    样例输入

    2
    3 10
    3 2
    

    样例输出

    1
    3
    代码:

     N!=1*2*3*4*5*............*N;

     lgN!=lg1+lg2+lg3+lg4+lg5+....................+lgN;

     (int)(a[n]/log(k))+1  k进制的位数;

     1 #include<stdio.h>
     2 #include<math.h>
     3 double a[1000000+10];
     4 int main()
     5 {
     6     int t,n,k;
     7     int i;
     8     double m=0.0;
     9     for(i=1;i<=1000000+10;i++)   //打表防止超时
    10        {m+=log(i);
    11            a[i]=m;
    12        }
    13     scanf("%d",&t);
    14     while(t--)
    15     {scanf("%d%d",&n,&k);  //这个输入输出放在表的后面就不用每次输入都打表了
    16      
    17      
    18      
    19       printf("%d
    ",(int)(a[n]/log(k))+1); 
    20         
    21     }
    22     return 0;
    23 }
  • 相关阅读:
    归并排序
    msp430的时钟源设计
    插入排序
    msp430F5438A 的中断初步
    算法导论,第一节第二节课总结
    MSP430F5438A的时钟系统
    msp430F5438A 的ADC 研究
    图像处理基本原理(转载)
    C++标准库简介
    C# 接口 抽象类
  • 原文地址:https://www.cnblogs.com/hss-521/p/7271900.html
Copyright © 2011-2022 走看看