Ce fut le problème m'a donné:exposants Être une méthode sans utiliser Math.pow()
méthode Create lastDigit qui est passé deux entiers positifs. Le premier entier est la base et le second entier est l'exposant. lastDigit retournera le dernier chiffre de la base^exposant. Vous devez réfléchir avant d'écrire votre code. Astuce: Vous n'avez pas besoin de trouver le produit de base^exposant.
Puis-je utiliser la méthode pour trouver répondre aux questions ci-dessous:
1) Quel est le dernier chiffre de 3 400 livres? 2) Quel est le dernier chiffre de (3^0) (3^1) (3^2) (3^3) ... (3^10)? 3) Quel est le dernier chiffre du produit de (3^0) (3^1) (3^2) ... .. (3^400)?
Voici le code que j'ai écrit:
public static int lastDigit(int m, int n){
int p=1;
for(int i=1; i<=n; i++)
p=p*m;
return p%10;
}
Cependant, quand je tentais de trouver les réponses aux questions, je continue à obtenir -1 pour la première et troisième questions, et 1 pour la deuxième question . Y at-il un problème avec le code, ou comment puis-je obtenir la bonne réponse?
trop-plein. Changez 'p = p * m' en' p = (p * m)% 10' – andars
Si vous pensez plus fort, vous trouverez un moyen d'obtenir la réponse sans rien multiplier (en temps constant). Astuce: écrivez les dix premières puissances de 3. – Roman