问题描述
  编制一个乘法运算的程序。
  从键盘读入2个100以内的正整数,进行乘法运算并以竖式输出。
输入格式
  输入只有一行,是两个用空格隔开的数字,均在1~99之间(含1和99)。
输出格式
  输出为4行或7行,符合乘法的竖式运算格式。
样例输入
89 13
样例输出
×13
━━━

━━━

输入输出样例1解释
  3×89=267,则第四行267右侧对准个位输出。1×89=89,则第五行89右侧对准十位输出。267+890=1157,则1157右侧对准个位输出。
样例输入
16 8
样例输出
× 8
━━━
输入输出样例2解释
  8×16=128,则第四行128右侧对准个位输出。计算完成,不再输出。
 
 
代码::

package 蓝桥杯java算法训练;

import java.util.Scanner;

public class _5乘法运算 {
public static void main(String[] args) {
// 输入x,y
// 1.先看y是1位还是两位
// 2.若y是1位,则直接按序输出,但是第二行输出y时,前面加一个空格
// 2.1看x*y结果,结果一定要留三位,结果为一位数字则补两个空格,结果为两位,补一
//个空格,结果为三位直接输出
// 3.若y是2位,则分成十位数字s和个位数字g,分别乘以x结果为sx,gx。看十位相乘的结果去
//判断到底有几个空格
// 3.1若sx为两位,则x和y不用加空格,最后乘积的结果为三位,不够补空格
// 3.2若sx为三位,输入的x前加一个空格,y前也加一个。结果为4位数字,不够补空格
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();//输入x,第一个乘数
int y = scanner.nextInt();//输入y,第二个乘数
//现在分为两种情况 y>=10和y<10
if (y >= 10) {
//将y拆分了
int s = y/10;//十位数字
int g = y%10;//个位数字
//分别计算与x的乘积
int sx = s*x;
int gx = g*x;
//看十位与x的乘积的位数
if (sx >= 100) {//三位,前面补空格
System.out.println(" "+x);
System.out.println(" ×"+y);
System.out.println("━━━");
//现在要看个位数字和x相乘需要补几个0了
if (gx==0) {
System.out.println(" 0"+gx);
}else if (gx <10) {
System.out.println(" "+gx);//补三个空格
}else if (gx <100) {
System.out.println(" "+gx);//补两个空格
}else {
System.out.println(" "+gx);//补一个空格
}
System.out.println(sx);
System.out.println("━━━");
int num = x*y;
//看结果需要补全几个空格
if (num<10) {
System.out.println(" "+num);
}else if (num <100) {
System.out.println(" "+num);
}else if (num <1000) {
System.out.println(" "+num);
}else{
System.out.println(num);
} }//sx>=100结束
else{//sx<100
System.out.println(x);
System.out.println("×"+y);
System.out.println("━━━");
if (gx==0) {
System.out.println(" 0"+gx);
}else if (gx<10) {
System.out.println(" "+gx);
}else if (gx<100) {
System.out.println(" "+gx);
}else {
System.out.println(gx);
}
System.out.println(sx);
System.out.println("━━━");
int num = x*y;
if (num<10) {
System.out.println(" "+num);
}else if (num <100) {
System.out.println(" "+num);
}else{
System.out.println(num);
} }//sx<100结束 }//y>=10结束
else{//y<10
System.out.println(x);
System.out.println("× "+y);
System.out.println("━━━");
int num = x*y;
if (num<10) {
System.out.println(" "+num);
}else if (num<100) {
System.out.println(" "+num);
}else {
System.out.println(num);
} }//y<10结束 }
}

 

java算法 蓝桥杯 乘法运算的更多相关文章

  1. java算法 蓝桥杯 扶老奶奶街

    一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被C和E其中一个扶过大街的 C :老奶奶是被我和D其中 ...

  2. java算法 蓝桥杯 高精度加法

    问题描述 在C/C++语言中,整型所能表示的范围一般为-231到231(大约21亿),即使long long型,一般也只能表示到-263到263.要想计算更加规模的数,就要用软件来扩展了,比如用数组或 ...

  3. java算法 蓝桥杯 格子位置

    问题描述 输入三个自然数N,i,j (1<=i<=N,1<=j<=N),输出在一个N*N格的棋盘中,与格子(i,j)同行.同列.同一对角线的所有格子的位置. 输入格式 输入共三 ...

  4. java算法 蓝桥杯 文化之旅

    问题描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文化的国家).不同的国家可能有相同的文化.不同文化 ...

  5. java算法 蓝桥杯 摆花

    问题描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时 ...

  6. java算法 蓝桥杯 洗牌

    问题描述 小弱T在闲暇的时候会和室友打扑克,输的人就要负责洗牌.虽然小弱T不怎么会洗牌,但是他却总是输. 渐渐地小弱T发现了一个规律:只要自己洗牌,自己就一定会输.所以小弱T认为自己洗牌不够均匀,就独 ...

  7. java算法 蓝桥杯(题+答案) 压缩变换

    10.压缩变换  (程序设计) 小明最近在研究压缩算法.他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比.然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些 ...

  8. java算法 蓝桥杯算法训练 Fibonacci数列

    问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...

  9. java算法 蓝桥杯(题+答案) 方格填数

    6.方格填数  (结果填空) 如下的10个格子 (如果显示有问题,也可以参看[图1.jpg]) 填入0~9的数字.要求:连续的两个数字不能相邻.(左右.上下.对角都算相邻) 一共有多少种可能的填数方案 ...

随机推荐

  1. 比较全的JavaScript倒计时脚本

    JavaScript倒计时在Web中用得非常广泛,比如常见的团购啊.还有什么值得期待的事情,都可以用到倒计时.现在举了四个例子,比如时间长的倒计时,小时倒计时,最简的倒计时,还有秒表等等,应该可以满足 ...

  2. 数据分析与R语言-概念点(一)

    一.数据分析 1.数据分析的多层模型 常用的统计量 常用的算法 常用的数据分析工具 常见的报表 二.R语言 1.什么是R语言?     R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个 ...

  3. 浏览器缓存(Egret项目实例分析)

    参考文章: 浏览器缓存机制:http://web.jobbole.com/82997/ 浏览器缓存机制:http://www.cnblogs.com/skynet/archive/2012/11/28 ...

  4. S3C2440的RTC解析

    位二-十进制交换码(BCD)值数据给CPU.这些数据包括年.月.日.星期.时.分和秒的时间信息.RTC单元工作在外部32.768kHz晶振并且可以执行闹钟功能 实时时钟模块保存的数据是DCD码形式. ...

  5. IOS开发-OC学习-常用功能代码片段整理

    IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...

  6. js格式化时间戳

    //js格式化时间戳,转换为时间格式  2017-1-15 4:10:15 function getLocalTime(nS) { var time = new Date(parseInt(nS) * ...

  7. MVP学习笔记——参考Google官方demo

    demo地址:https://github.com/googlesamples/android-architecture 在这个项目里,每个包的分工都很明确,大体上来说,一个包会对应一个界面.一个界面 ...

  8. html 上传文件

    1.html代码 <form id="form1" action="TestYield" method="post" enctype= ...

  9. 企业建站http://www.douco.com/

    http://www.douco.com/ 非常方便的,搭建简单的企业网站

  10. jmeter+ant+jenkins+mac使用HTML Publisher插件后查看html报告显示不正常

    Jenkins安全默认将以下功能关闭: 1.javascript2.html上的内置插件3.内置css或从其它站的css4.从其它站的图处5.AJAX 报告中有javascript,所以显示异常.解决 ...