Files
C_code/exercise/exercise/113.c
T
2025-12-23 08:04:26 +08:00

30 lines
766 B
C

#include <stdio.h>
#include <stdlib.h>
#ifdef _WIN32
#include <windows.h>
#endif
typedef unsigned long long ull;
int main(void)
{
#ifdef _WIN32
system("chcp 65001 > nul");
SetConsoleOutputCP(65001);
SetConsoleCP(65001);
#endif
unsigned long long n;
if (scanf("%llu", &n) != 1)
return 0;
unsigned long long ans = 0ULL;
for (unsigned long long factor = 1ULL; factor <= n; factor *= 10ULL)
{
unsigned long long high = n / (factor * 10ULL);
unsigned long long low = n % factor;
unsigned long long cur = (n / factor) % 10ULL;
unsigned long long term = factor * (high * 45ULL + (cur * (cur - 1ULL)) / 2ULL) + cur * (low + 1ULL);
ans += term;
}
printf("%llu\n", ans);
return 0;
}