博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【JAVA练习】- 一个逻辑题
阅读量:6911 次
发布时间:2019-06-27

本文共 1091 字,大约阅读时间需要 3 分钟。

打印

1
3    4
5   8    12
7   12   20   32
9    16  28    48   80 
.....
输入任意一个奇数,输出那一行的数据

 

第一种方法找到规律进行归纳等式:

1 public static void main(String[] args) {2         System.out.println("请输入任意一个奇数: ");3         Scanner input = new Scanner(System.in);4         int i = input.nextInt();//任意一个奇数5         input.close();6         int j = (i + 1) / 2;//行数7         for(int p = 1; p <= j; p++) {
//p为行数的项数8 System.out.print( (int)( Math.pow(2,p) * j - p * Math.pow(2,p-1) ) + " ");//观察得出数值与项数,行数的关系9 }

 

第二中方法递归方法:

1 int[][] num = new int[j][j];//二维数组储存数据 2         for(int p = 0; p < j; p++) {
//p代表数组纵轴与上面的p不同 3 for(int m = 0; m < j; m++) {
//m代表数组横轴 4 if(m == 0) {
//横轴为首项时,数值为2*行数-1 行数=p+1 5 num[p][m] = 2*p + 1; 6 } 7 else if( p > 0) { //当纵轴不为0时,即不是第一行时 8 num[p][m] = num[p][m-1] + num[p-1][m-1]; 9 }10 }11 }12 for(int m = 0; m < j; m++) {13 System.out.print(num[j-1][m]+" ");14 }

 

转载于:https://www.cnblogs.com/isco22/p/8533634.html

你可能感兴趣的文章
SQL Server -- 随笔
查看>>
Java Annotation 应用 -- 导出Excel表格
查看>>
git使用教程1-本地代码上传到github
查看>>
wkhtmlpdf安装以及中文乱码
查看>>
oc43--野指针和空指针
查看>>
装饰器1、无参数的装饰器 2、有参数的装饰器 3、装饰器本身带参数的以及如果函数带return结果的情况...
查看>>
Selenium:三种等待方式
查看>>
关于脏读、不可重复读和幻读
查看>>
Maven详解(七)------ 创建Web工程以及插件原理
查看>>
二进制传输与文本传输的区别
查看>>
YMP运行初始化步骤
查看>>
Getting Started with the G1 Garbage Collector(译)
查看>>
MySql5.7.11 for Windows 安装精简版(一)
查看>>
Java线程池
查看>>
imx6设备树pinctrl解析【转】
查看>>
vue.js 入门
查看>>
Ansible系列(三):YAML语法和playbook写法
查看>>
JAVA线程池ScheduledExecutorService周期性地执行任务 与单个Thread周期性执行任务的异常处理...
查看>>
Python 面向对象
查看>>
JAXB xml与javaBean的转换
查看>>