不使用局部变量和for循环或其它循环打印出如m=19,n=2結果为2 4 8 16 16 8 4 2形式的串
需求:不使用局部变量和for循环或其它循环打印形如:2 4 8 16 16 8 4 2 这样的串
代码MainTest.java
package com.szp.study.javase.special; /**
* 正向输出n的2的倍数,当大于m时始除以2并反向除于2输出,形如m=19,n=2;結果:2 4 8 16 16 8 4 2
* 在方法中不声明本地变量、不使用循环
*
* @author zhipengs
*
*/
public class MainTest { /**
* @param args
*/
public static void main(String[] args) {
int m = 19, n = 2;
System.out.println("m=" + m + ",n=" + n);
m = printMulti(m, n);// 调用递归乘
printDivide(m, n);// 调用递归除 m = 35;
n = 4;
System.out.println("\nm=" + m + ",n=" + n);
m = printMulti(m, n);
printDivide(m, n); m = 40;
n = 5;
System.out.println("\nm=" + m + ",n=" + n);
m = printMulti(m, n);
printDivide(m, n); m = 21;
n = 1;
System.out.println("\nm=" + m + ",n=" + n);
m = printMulti(m, n);
printDivide(m, n); } /**
* 递归乘
* @param m
* @param n
* @return int
*/
public static int printMulti(int m, int n) {
if (n <= m) {
System.out.print(n + " ");
n = 2 * n;
return printMulti(m, n);
}
return n;
} /**
* 递归除
* @param m
* @param n
* @return int
*/
public static int printDivide(int m, int n) {
if (m > n) {
m = m / 2;
System.out.print(m + " ");
return printDivide(m, n);
}
return n;
} }
测试结果:
m=19,n=2
2 4 8 16 16 8 4 2
m=35,n=4
4 8 16 32 32 16 8 4
m=40,n=5
5 10 20 40 40 20 10 5
m=21,n=1
1 2 4 8 16 16 8 4 2 1
不使用局部变量和for循环或其它循环打印出如m=19,n=2結果为2 4 8 16 16 8 4 2形式的串的更多相关文章
- Lua循环结构while循环、repeat 循环、for循环_学习笔记03
Lua循环结构while循环.repeat 循环.for循环 while语法结构 while 循环条件 do 循环体 end --1.输出1到100 index = do print(index) ...
- sqlserver中的循环遍历(普通循环和游标循环)
sql 经常用到循环,下面介绍一下普通循环和游标循环 1.首先需要一个测试表数据Student
- while 循环 于 for循环语句
while 循环 while 循环 while 条件: 如果条件是真的,就继续的循环 如果条件是假的,就停止循环 循环的意思就是让程序重复地执行某些语句,whiler循环就是循环结构的一种,当事先不知 ...
- 1. while循环(当循环) 2. do{}while()循环 3. switch cose(多选一) 例子:当选循环下求百鸡百钱 用 switch cose人机剪刀石头布
1. while循环: 当选循环下求百鸡百钱:如下: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...
- iOS - OC RunLoop 运行循环/消息循环
1.RunLoop 1)运行循环: 运行循环在 iOS 开发中几乎不用,但是概念的理解却非常重要. 同一个方法中的代码一般都在同一个运行循环中执行,运行循环监听 UI 界面的修改事件,待本次运行循环结 ...
- 黑马程序员——JAVA基础之程序控制流结构之循环结构,循环嵌套
------- android培训.java培训.期待与您交流! ---------- 循环结构: 代表语句:while ,do while ,for while语句格式 : while(条件表达式) ...
- python 循环、循环设计、循环对象
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 1.循环 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进 ...
- PHP foreach()跳出本次或当前循环与终止循环方法
PHPforeach()跳出本次或当前循环与终止循环方法 PHP中用foreach()循环中,想要在循环的时候,当满足某个条件时,想 $arr = array('a','b','c','d','e') ...
- 为什么要for循环以及for循环的流程
/* Name:为什么需要循环以及for循环流程 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月10日 03:16:55 Description:求1 ...
随机推荐
- 学习了武沛齐讲的Day11-完
DAY11 老师讲了很多,理解了一个方法 当有复杂的问题时,先拆解很小的单元(10行),测试通过了,再简化(3行) len range 感悟:其实不用计记代码(主要是记不动),,当遇到问题时:找出 ...
- Ubuntu18.04开机动画(bootsplash)安装
一.搜索喜欢的主题 1.通过软件源搜索,这个比较简单但是没有太喜欢的.-----------------------------------------------------------pipci@ ...
- BZOJ 2038: [2009国家集训队]小Z的袜子
二次联通门 : BZOJ 2038: [2009国家集训队]小Z的袜子 /* BZOJ 2038: [2009国家集训队]小Z的袜子 莫队经典题 但是我并不认为此题适合入门.. Answer = ∑ ...
- TensorFlow(十八):从零开始训练图片分类模型
(一):进入GitHub下载模型-->下载地址 因为我们需要slim模块,所以将包中的slim文件夹复制出来使用. (1):在slim中新建images文件夹存放图片集 (2):新建model文 ...
- nginx + keepalived双活配置
一.安装nginx 我们这边默认安装的nginx的是1.12.2的版本,所以我们需要安装1.16.1版本的nginx的,才好,所以我们这边先更新yum源,步骤如下: 1.添加yum源: [root@s ...
- 前端武器库系列之html后台管理页面布局
设计网页,让网页好看:网上找模板 搜 HTML模板 BootStrap 一.页面布局之主站页面 主站布局一般不占满页面,分为菜单栏.主页面.底部 上中下三部分.伪代码如下: <div class ...
- python map() 的使用方法
>>>def square(x) : # 计算平方数 ... ... >>> map(square, [,,,,]) # 计算列表各个元素的平方 [, , , , ...
- [bzoj 4887] [Tjoi2017]可乐
传送门 Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且 放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市 ...
- vue pc element-ui class
按需引入element-ui npm install babel-plugin-component -D 先安装这个 然后在babelrc中配置: 在plugins中加入红色框的那一部分 [ &q ...
- cesium地下模式(地表透明)3
这篇博客主要解决“瓦片的白色网格”问题 设置skirt=0可以解决这个问题,需要设置3个地方 1.HeightmapTerrainData.js createMesh方法 this._skirtHei ...