问题描述
  编制一个乘法运算的程序。
  从键盘读入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. android4.0 的图库Gallery2代码分析(一)

    最近迫于生存压力,不得不给人兼职打工.故在博文中加了个求点击的链接.麻烦有时间的博友们帮我点击一下.没时间的不用勉强啊.不过请放心,我是做技术的,肯定链接没病毒,就是我打工的淘宝店铺.嘻嘻.http: ...

  2. CodeForces 610D Vika and Segments

    模板题,矩形面积并 #include <iostream> #include <cstring> #include <cstdio> #include <al ...

  3. NIPS 2016论文:英特尔中国研究院在神经网络压缩算法上的最新成果

    NIPS 2016论文:英特尔中国研究院在神经网络压缩算法上的最新成果 http://www.leiphone.com/news/201609/OzDFhW8CX4YWt369.html 英特尔中国研 ...

  4. CodeForces 617D Polyline

    无脑暴力判断. #include<cstdio> #include<cstring> #include<vector> #include<cmath> ...

  5. CSS-学习笔记六

    1. 自适应,响应式布局 2. pure 3. Animate

  6. 配置 nginx location 实时查看 php-fpm 的状态

    在Nginx.conf 里配置 location ~ ^/status$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_ ...

  7. thinkphp中的ajax分页

    thinkphp中用ajax分页和普通的ajax分页的区别在于处理位置的不同,thinkphp是在控制器的方法中处理ajax传的值,然后返回数据.下面是一个点击事件触发后,显示的内容用ajax分页. ...

  8. Nginx负载均衡和Keepalived的安装设置

    一.Nginx设置负载均衡 (1)upstream的配置 http { upstream backend { #这里设置后台分发的服务器族群,有多少个可以添加,同时设置查询策略 server 192. ...

  9. (简单) POJ 3126 Prime Path,BFS。

    Description The ministers of the cabinet were quite upset by the message from the Chief of Security ...

  10. (中等) POJ 2828 Buy Tickets , 逆序+线段树。

    Description: Railway tickets were difficult to buy around the Lunar New Year in China, so we must ge ...