解题思路:





注意事项:





参考代码:

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String a[] = new String[100];
		/** 将0-9数字存入数组a中,其中有红线的部分为1没有的部分为0 */
		a[0] = "1111110";
		a[1] = "0010010";
		a[2] = "0111101";
		a[3] = "0110111";
		a[4] = "1010011";
		a[5] = "1100111";
		a[6] = "1101111";
		a[7] = "0110010";
		a[8] = "1111111";
		a[9] = "1110111";
		int l = sc.nextInt();
		String b = sc.next();
		String c = sc.next();
		int bb[] = new int[l + 10];
		int cc[] = new int[l + 10];
		/** 将输入的字符串转化成数字 */
		for (int i = 0; i < l; i++) {
			bb[i] = b.charAt(i) - '0';
			cc[i] = c.charAt(i) - '0';
		}
		/** 求出需要变换的次数 */
		int sum = 0;
		for (int i = 0; i < l; i++)
			for (int k = 0; k < 7; k++)
				if (a[bb[i]].charAt(k) != a[cc[i]].charAt(k))// 比较两个数字所在的位置有几个不同的红线标记
					sum++;
		System.out.println(sum);
	}
}


点赞(2)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论