求指数n^m

    xiaoxiao2021-03-25  99

    问题描述

      已知n和m,打印n^1,n^2,...,n^m。要求用静态变量实现。n^m表示n的m次方。已知n和m,打印n^1,n^2,...,n^m。要求用静态变量实现。(每行显示5个数,每个数宽为12,右对齐)

    样例输入

    一个满足题目要求的输入范例。例:3 8

    样例输出

    与上面的样例输入对应的输出。

    数据规模和约定

    例:n^m小于int 的表示范围。

    思路

    一开始想用递归,结果弄了半天不行,以后都是结果自己自乘了,因为传入函数的a变了 public static void power(int a, int b){ int s = a * a; //result System.out.printf("d", s); if (b > 0 && a < 2147483647) { power(s, b - 1); } else return; } 想了想,我还是用循环好了 -  -|| 结果循环用起来特别顺手啊!!

    然后,为了满足“每行显示5个数,每个数宽为12,右对齐”,就要用到JAVA输出中的printf语句,右对齐反而是正的(刚开始我加了负号,结果成了左对齐 - -)

    import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner number = new Scanner(System.in); int n = number.nextInt(); int m = number.nextInt(); power(n, m); } public static void power(int a, int b){ int s, i; for(s = 1, i = 1; i <= b; i++){ s = s * a; if(i % 5 == 0) System.out.printf("d\n", s); else System.out.printf("d", s); } } }
    转载请注明原文地址: https://ju.6miu.com/read-36164.html

    最新回复(0)