因为题目说了每个数字都由7段灯管组成。因此对于每个数我们都可以用一个7位二进制来表示,其中'0'表示灯管熄灭,'1'表示灯管亮了,比较变前变后的每一位,如果不一样,说明状态发生了变化,计数器统计一下,最后输出变化个数。
js
#include<bits/stdc++.h>
using namespace std;
string ch(char a)
{
if(a=='0') return "1111110";
if(a=='1') return "0011000";
if(a=='2') return "0110111";
if(a=='3') return "0111101";
if(a=='4') return "1011001";
if(a=='5') return "1101101";
if(a=='6') return "1101111";
if(a=='7') return "0111000";
if(a=='8') return "1111111";
if(a=='9') return "1111101";
}
int main()
{
string s1,s2;
cin>>s1>>s2;
int cnt=0;
for(int i=0;i<s1.size();i++)
{
string s3,s4;
s3=ch(s1[i]);
s4=ch(s2[i]);
for(int i=0;i<s3.size();i++)
{
if(s3[i]!=s4[i])cnt++;
}
}
cout<<cnt<<endl;
return 0;
}