Problem:
Score : 200 points

Problem Statement

Find the sum of the integers between 1 and N (inclusive), whose sum of digits written in base 10 is between A and B (inclusive).

Constraints

1 \leq N \leq 10^4

1 \leq A \leq B \leq 36

All input values are integers.

Input

Input is given from Standard Input in the following format:

N A B

Output

Print the sum of the integers between 1 and N (inclusive), whose sum of digits written in base 10 is between A and B (inclusive).

Sample Input 1

20 2 5

Sample Output 1

84

Among the integers not greater than 20, the ones whose sums of digits are between 2 and 5, are: 2,3,4,5,11,12,13,14 and 20. We should print the sum of these, 84.

Sample Input 2

10 1 2

Sample Output 2

13

Sample Input 3

100 4 16

Sample Output 3

4554

Solution in C (GCC 5.4.1) (judge verdict: Accepted)

#include<stdio.h>
#include <math.h>

int main()
{
  int N,A,B,i,sum;
  int a=0,b=0,c=0,d=0,e=0;
  scanf("%d %d %d",&N,&A,&B);
  
  for(i=0;i<=N;i++)
  {
    a=0;
    b=0;
    c=0;
    d=0;
    e=0;
  
  if(i-10000>=0)
  {
    a=floor(i/10000);
  }
    
  if(i-1000>=0)
  {
    b=floor(i/1000)-a*10;
  }
  
  if(i-100>=0)
  {
    c=floor(i/100)-a*100-b*10;
  }
  
  if(i-10>=0)
  {
    d=floor(i/10)-a*1000-b*100-c*10;
  }  
  
  e=i-a*10000-b*1000-c*100-d*10;
  
  if(a+b+c+d+e>=A && a+b+c+d+e<=B)
  {
    sum=sum+i;
  }

  }
  printf("%d",sum);
  return 0; 
}