解题思路:
1. 把0-9的每个数字所对应的二极管开关情况分别用0和1给表示出来
2. 对当前数字和目标数字做按位异或操作,即判断两者的二极管开关情况是否为01,如果是那就是变换一次,则记录一下
本来想着手工算一遍0-9每个数字所对应目标数的变换次数,可当我算完0至(1-9)时眼就好花QWQ,所以就有了这个思路QWQ。
参考代码:
#include <stdio.h> int main(){ int table[10][7] = { //0-9每个数字所对应的二极管开关情况 {1,1,1,0,1,1,1}, {0,0,1,0,0,1,0}, {1,0,1,1,1,0,1}, {1,0,1,1,0,1,1}, {0,1,1,1,0,1,0}, {1,1,0,1,0,1,1}, {1,1,0,1,1,1,1}, {1,0,1,0,0,1,0}, {1,1,1,1,1,1,1}, {1,1,1,1,0,1,1} }; char a[100],b[100]; int i,j,l,count = 0; scanf("%d", &l); scanf("%s", a); scanf("%s", b); for(i = 0; i < l; i++){ for(j = 0; j < 7; j++){ if(table[a[i]-'0'][j]^table[b[i]-'0'][j] == 1){ count++; } } } printf("%d", count); return 0; }
0.0分
6 人评分
C语言程序设计教程(第三版)课后习题8.9 (C语言代码) 用函数传参的方法浏览:4120 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:909 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:591 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:548 |
1113题解浏览:823 |
杨辉三角 (C语言代码)浏览:504 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:569 |
数组与指针的问题浏览:760 |
剪刀石头布 (C++代码)浏览:1811 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:525 |