Once Max found an electronic calculator(计算器) from his grandfather Dovlet's chest. He noticed that the numbers were written with seven-segment indicators(指示器) (https://en.wikipedia.org/wiki/Seven-segment_display).
Max starts to type all the values from a to b. After typing each number Max resets(重新设定) thecalculator(计算器). Find the total number of segments(段) printed on the calculator.
For example if a = 1 and b = 3 then at first the calculator will print 2 segments, then — 5 segments and at last it will print 5 segments. So the total number of printed segments is 12.
The only line contains two integers(整数) a, b (1 ≤ a ≤ b ≤ 106) — the first and the last number typed by Max.
Print the only integer a — the total number of printed segments(段).
1 3
12
10 15
39
题意:输入a,b,输出在a,b范围内所有数字在计算器中出现的段数之和。
只要把每个数字分离出来,找到对应的段数即可。
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int seg[]={6,2,5,5,4,5,6,3,7,6};
int a,b,sum=0;
int main()
{
cin>>a>>b;
for(int i=a;i<=b;i++){
int c=i;
while(c){
sum+=seg[c%10];
c/=10;
}
}
cout<<sum<<endl;
return 0;
}