本文概述
- C ++
- Java
- Python3
- C#
- 的PHP
限制条件:
文章图片
整个
例子 :
Input : Number = 48
Base = 4
Output: 3
Explanation : (48)10 = (300)4Input : Number = 1446
Base = 7
Output: 4
Explanation : (446)10 = (4134)7
一种简单的方法: 将十进制数转换成给定的基数r,然后数位数。
一种有效的方法: 它驻留在该数的底数和该数的位数之间的关系。
通常:令n为正整数。底数
文章图片
代表
文章图片
具有
文章图片
如果数字
文章图片
, 如果是这样的话
文章图片
or
文章图片
因此, 以n为底的b表示形式的位数是
文章图片
在上面的方程中, 使用了基本变化对数性质。因此, 我们计算要计算位数的那个底数的对数。取其底值, 然后加1。
该想法可以进一步用于在基数r中找到基数b的给定数n的位数。所有要做的就是转换以10为底的数字, 然后应用上面的查找数字公式。当数字以10为底时, 计算任何底数的对数会更容易。
C ++
// C++ program to Find Number of digits
// in base b.
#include <
iostream>
#include <
math.h>
using namespace std;
// function to print number of
// digits
void findNumberOfDigits( long n, int base)
{
// Calculating log using base
// changing property and then
// taking it floor and then
// adding 1.
int dig = ( int )( floor ( log (n) /
log (base)) + 1);
// printing output
cout <
<
"The Number of digits of "
<
<
"Number " <
<
n <
<
" in base "
<
<
base <
<
" is " <
<
dig;
}// Driver method
int main()
{
// taking inputs
long n = 1446;
int base = 7;
// calling the method
findNumberOfDigits(n, base);
return 0;
}// This code is contributed by Manish Shaw
// (manishshaw1)
Java
// Java program to Find Number
// of digits in base b.
class GFG {// function to print number of digits
static void findNumberOfDigits( long n, int base)
{// Calculating log using base changing
// property and then taking it
// floor and then adding 1.
int dig = ( int )(Math.floor(
Math.log(n) / Math.log(base))
+ 1 );
// printing output
System.out.println( "The Number of digits of Number "
+ n + " in base " + base
+ " is " + dig);
}// Driver method
public static void main(String[] args)
{
// taking inputs
long n = 1446 ;
int base = 7 ;
// calling the method
findNumberOfDigits(n, base);
}
}
Python3
# Python3 program to Find Number of digits
# in base b.import math# function to print number of
# digits
def findNumberOfDigits(n, base):# Calculating log using base
# changing property and then
# taking it floor and then
# adding 1.
dig = (math.floor(math.log(n) /
math.log(base)) + 1 )# printing output
print ( "The Number of digits of"
" Number {} in base {} is {}"
. format (n, base, dig))# Driver method # taking inputs
n = 1446
base = 7# calling the method
findNumberOfDigits(n, base)# This code is contributed by
# Manish Shaw (manishshaw1)
C#
// C# program to Find Number of digits
// in base b.
using System;
class GFG {// function to print number of
// digits
static void findNumberOfDigits( long n, int b)
{
// Calculating log using base
// changing property and then
// taking it floor and then
// adding 1.
int dig = ( int )(Math.Floor(
Math.Log(n) / Math.Log(b)) + 1);
// printing output
Console.Write( "The Number of digits"
+ " of Number " + n + " in base "
+ b + " is " + dig);
}// Driver method
public static void Main()
{
// taking inputs
long n = 1446;
int b = 7;
// calling the method
findNumberOfDigits(n, b);
}
}// This code is contributed by Manish Shaw
// (manishshaw1)
的PHP
<
?php
// PHP program to Find Number
// of digits in base b.// function to print
// number of digits
function findNumberOfDigits( $n , $b )
{
// Calculating log using base
// changing property and then
// taking it floor and then
// adding 1.
$dig = (int)( floor (log( $n ) /
log( $b )) + 1);
// printing output
echo ( "The Number of digits" .
" of Number " . $n .
" in base " . $b .
" is " . $dig );
}// Driver Code
$n = 1446;
$b = 7;
// calling the method
findNumberOfDigits( $n , $b );
// This code is contributed by
// Manish Shaw (manishshaw1)
?>
输出:
The Number of digits of Number 1446 in base 7 is 4
推荐阅读
- Nodejs使用nodemon自动重启NodeJs服务器
- Go语言中的select语句怎么使用(用法示例解析)
- Windows7本地连接IP设置办法
- win7系统如何结束进程命令?
- Win7如何取消自动关机?Win7取消自动关机的办法流程
- 雨林木风Ghost windows7 64位系统旗舰版最新推荐
- 深度技术Ghost windows7系统64位最新推荐
- Ghost windows7系统LOADER激活工具最新推荐
- Ghost windows7系统旗舰版64位激活工具制作详细说明