0
votes

Algorithme pour identifier la figure suivante supérieure qui peut être divisée par une puissance de 10

Je calcule un numéro qui devrait être la moitié de l'axe sur une barreau.

Le numéro calculé est le plus petit possible (en prenant les pixels disponibles, etc. en compte).

maintenant Je veux arrondir ce nombre jusqu'à la puissance suivante de 10.

Voici comment je calculer le plus petit étage possible: xxx

je vais donner Quelques exemples pour une meilleure compréhension: Numéro calculé: 6 - Numéro I WANT: 10

Numéro calculé: 55 - Numéro I WANT: 100

Numéro calculé: 355 - Numéro I WANT: 1000

Numéro calculé: 755 - Numéro I WANT: 1000

Numéro calculé: 5755 - Numéro I WANT: 10000

J'ai donc besoin de calcul qui convient à tous ces cas.


0 commentaires

4 Réponses :


2
votes

Je pense que vous pouvez le faire avec math.log : xxx

Essayez-le en ligne


0 commentaires

1
votes

Utilisez ceci:

int result = (int)Math.Pow(10,Math.Round(Math.Log(n,10) - Math.Log(5.5,10) + 0.5));


0 commentaires

2
votes
     Math.Pow(10,(int)Math.Ceiling(Math.Log10(number)));    
Match your example

0 commentaires

1
votes

Vous pouvez prendre le journal de base 10 et l'arrondir jusqu'au chiffre supérieur supérieur et faire un maths.Pow par conséquent.

10
100
1000
10000
100000


0 commentaires