• 打印出杨辉三角形


    * 题目:打印出杨辉三角形(要求打印出10行如下图)

    思路:双重循环 第一层打印每一样 第二层打印每一列

    根据规律计算每一个位置上的数字的值

    public class 第三十三题打印杨辉三角 {
        public static void main(String[] args) {
            /*
             * 思路:双重循环 第一层打印每一样 第二层打印每一列
             */
            // 打印6行
            for (int i = 1; i < 11; i++) {
                // 打印空格
                int k = 17;
                        if (i == 5) {
                            k -= 0;
                        } else if( i== 6) {
                            k -= 1;
                        } else if( i== 7) {
                            k -=2;
                        } else if( i == 8) {
                            k -= 3;
                        } else if( i== 9) {
                            k -= 3;
                        } else if( i== 10) {
                            k -= 4;
                        }
                for (; k > i; k--) {
                    System.out.print(" ");
                }
                // 打印每一行的内容
                for (int j = 1; j < i + 1; j++) {
                    System.out.print(" " + getValue(i - 1, j - 1));
                }
                System.out.println();
            }
        }
        
        // 计算每一个位置上的数字的值
        public static long getValue(int n, int m) {
            return (long) (factorial(n) / (factorial(m) * factorial(n - m)));
        }
    
        // 计算一个数的阶乘
        public static long factorial(int n) {
            long result = 1;// 存放阶乘的结果
            for (int i = 1; i < n + 1; i++) {
                result *= i;
            }
            return result;
        }
    }
  • 相关阅读:
    日期时间格式
    input表单加disable的后无法获取其value值
    登录判断,清除中间变量
    弹出层嵌套
    转换qq音乐格式为mp3
    layui双击表格,跳转修改页面
    设置输入电话号码为11位
    layui表格设置,分数合计
    解决数据库传回时间类型为数字
    自定义标签
  • 原文地址:https://www.cnblogs.com/zjulanjian/p/10952554.html
Copyright © 2020-2023  润新知