本文介绍了乘除后的位数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个数字XY,我不知道它们的值,但我知道可以包含的最大位数X 是 10(例如),Y 是 3(例如)

I have two numbers X and Y, i don't know their values but i know that the maximal number of digits that can contain X is 10 (for example) and for Y is 3 (for example)

我需要知道等于 X * YZ 的最大位数.Z = X/Y

I need to know the maximal number of digits of Z that equals to X * Y. Same for Z = X / Y

推荐答案

如果 X 最多可以有 n 个数字并且 Y 最多可以有最多 m 个数字,然后

If X can have at most n digits and Y can have at most m digits, then

X

这意味着

X * Y

换句话说,

X * Y 最多可以有 n + m 位数字.

对于除法,我们需要取 Y 的最坏情况 - 即值 1.所以 X/Y 的最大位数是 n.

With division, we need to take the worst case for Y - that is value 1. So maximum number of digits for X / Y is n.

然而,如果你知道 Y 正好有 m 个数字,那么我们可以说

However, if you know Y has exactly m digits, then we can say that

Y >= 10 ^ (m - 1)

在这种情况下,我们得到:

in that case we get:

X/Y X/Y

这意味着 X/Y 最多有 n - m + 1 个数字,而 Y 正好有 m 个数字.

This means that X / Y has at most n - m + 1 digits when Y has exactly m digits.

这篇关于乘除后的位数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-12 11:35