原题链接:蓝桥杯算法提高VIP-计算器
解题思路:
注意事项:
参考代码:
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); } }
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复