【Leetcode】面试题 16.05. 阶乘尾数、HJ7 取近似值

 作者:小卢 

专栏:《Leetcode》

喜欢的话:世间因为少年的挺身而出,而更加瑰丽。                                  ——《人民日报》


目录

 面试题 16.05. 阶乘尾数

HJ7 取近似值


 面试题 16.05. 阶乘尾数

面试题 16.05. 阶乘尾数

题目:

设计一个算法,算出 n 阶乘有多少个尾随零

示例:


 思路:

注意:题目要求要时间复杂度要为logN,因此我们不能用循环将一个个数相乘这样时间复杂度为O(n),N的时间复杂度要比logN大,因此不能这样算。

题目说要算n!的尾0有几个就相当于说n!可以被10除几次,也就相当于可以被5除于几次,但有25和125这种特殊情况要注意。

代码:

int trailingZeroes(int n){
    int res = 0;
    while (n) {
        n /= 5;
        res += n;        
    }
    return res;
}

HJ7 取近似值

取近似值_牛客题霸_牛客网

题目描述:

描述

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。

数据范围:保证输入的数字在 32 位浮点数范围内

输入描述:

输入一个正浮点数值

输出描述:

输出该数值的近似整数值

示例:


代码:

#include <stdio.h>
int main() {
   double a;
   scanf("%lf",&a);
   double b=(int)a+0.5;
   if(a<b)
   printf("%d",(int)a);
   else
   printf("%d",(int)a+1);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_69061857/article/details/128834856