考研机试 18.特殊乘法
时间:2021/03/03
一.题目描述
写个算法,对2个小于1000000000的输入,求结果。 特殊乘法举例:123 * 45 = 1*4 +1*5 +2*4 +2*5 +3*4+3*5
输入描述
两个小于1000000000的数
输出描述
输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果。
题目链接
二.算法
题解
这里在读取时我们并没有使用int类型,这是因为int类型不容易将每一位的数字拆分出来,而使用String类型的toCharArray方法可以轻松做到这一点。在进行乘法运算时我们又通过Integer类的静态方法parseInt将String转化为int类型。
重点
String类的toCharArray方法和Integer类的静态方法parseInt
代码
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); while(in.hasNext()){ char[] a = in.next().toCharArray(); char[] b = in.next().toCharArray(); long count = 0; for(int i = 0; i < a.length; i++){ for(int j = 0; j < b.length; j++){ count = count + (Integer.parseInt(a[i] + "") * Integer.parseInt(b[j] + "")); } } System.out.println(count); } } }
努力,向上,自律