The minimal sum of digits
include <iostream>
include<map>
using namespace std;
int main() { long m,i,mini=100,n,ans=0; cin>>m>>n; for(i=m;i<=n;i++) { long ic=i,sum=0; while(ic!=0) { sum+=ic%10; ic/=10; } if(sum<mini) mini=sum; if(mini==1) break; } for(i=m;i<=n;i++) { long sum=0,ic=i; while(ic!=0) { sum+=ic%10; ic/=10; } if(sum==mini) { ans++; } } cout<<ans; }
include <bits/stdc++.h>
using namespace std;
int getSumOfDigits(int number) { int sum = 0; while (number > 0) { sum += number % 10; number /= 10; } return sum; }
int main() { int m, n; cin >> m >> n;
int minSum = getSumOfDigits(m);
int count = 1;
for (int num = m + 1; num <= n; num++) {
int sum = getSumOfDigits(num);
if (sum < minSum) {
minSum = sum;
count = 1;
} else if (sum == minSum) {
count++;
}
}
cout << count << endl;
return 0;
}
include<stdio.h>
include<map>
using namespace std; bool OK(int n,int m, int d){ return (m <= d and d <= n); } int give_digits(int n){ int res = 0; while(n > 0){ res += n % 10; n /= 10; }
return res;
} int comput(int m, int n){ int res = 0; if(m == n){ return 1; }else{ if(OK(n,m,1)) ++res; if(OK(n,m,10)) ++res; if(OK(n,m,100)) ++res; if(OK(n,m,1000)) ++res; if(OK(n,m,1e4)) ++res; if(OK(n,m,1e5)) ++res; if(OK(n,m,1e6)) ++res; if(res) return res; } if(!res){ map<int,int> mp; for(int i = m; i <= n; ++i){ mp[give_digits(i)]++; } return mp.begin()->second; } } int main(){ int m, n; scanf("%d %d",&m,&n); printf("%d\n",comput(m,n)); puts(" "); return 0; }