當前位置:
首頁 >
数码管
發布時間:2023/12/4
31
豆豆
題目背景
小明的單片機上面的LED顯示屏壞掉了,于是他請你來為他修顯示屏。 屏幕上可以顯示0~9的數字,其中每個數字由7個小二極管組成,各個數字對應的表示方式如圖所示:
題目描述
為了排除電路故障,現在你需要計算,將數字A變為數字B需要經過多少次變換? 注意:現在將其中每段小二極管的開和關都定義為一次變換。例如數字1變為2是5次操作。
輸入格式
第一行為一個正整數L,表示數碼的長度。 接下來兩行是兩個長度為L的數字A和B,表示要把數字A變成數字B(數字可以以0開頭)。
輸出格式
一行一個整數,表示這些小二極管一共要變換多少次。
輸入輸出樣例
輸入
5
15987
02356
輸出
16
說明/提示
【數據范圍】 L< =100
解題思路:
用二維數組來模擬每段小二極管,亮就是1,不亮就是0
然后就很簡單了
代碼如下:
#include <iostream> using namespace std; int d[12][12] = {{1,1,1,1,1,1,0},{0,0,1,1,0,0,0},{0,1,1,0,1,1,1},{0,1,1,1,1,0,1},{1,0,1,1,0,0,1},{1,1,0,1,1,0,1},{1,1,0,1,1,1,1},{0,1,1,1,0,0,0},{1,1,1,1,1,1,1},{1,1,1,1,1,0,1}}; char a[110],b[110];int main() {int n,ans = 0;cin>>n;for (int i = 0;i<n;i++) cin>>a[i];for (int i = 0;i<n;i++) cin>>b[i];for (int i = 0;i<n;i++){int cnt = 0;for (int j = 0;j<7;j++){if (d[a[i]-'0'][j]!=d[b[i]-'0'][j]) cnt++;}ans+=cnt;}cout<<ans<<endl;return 0; }總結
- 上一篇: 背部刮痧的好处有哪些
- 下一篇: 风热感冒可以艾灸吗