小蓝认为如果一个数含有偶数个数位,并且前面一半的数位之和等于后面一半的数位之和,则这个数是他的幸运数字。例如 2314 是一个幸运数字,因为它有 4个数位,并且2+3-1+4。现在请你帮他计算从1至100000000 之间共有多少个不同的幸运数字。
#include <stdio.h>
int main()
{
int a = 0;
for (int i = 10; i < 100000000; i++)
{
int b = 0;
for (int j = i; j > 0; j /= 10)
{
b++;
}
if (b % 2 == 0)
{
int sum1 = 0;
int sum2 = 0;
int p = i;
for (int q = 1; q < b+1; q++,p /= 10)
{
sum1 += p % 10;
if (q == b / 2)
{
sum2 = sum1;
sum1 = 0;
}
}
if (sum1 == sum2)
{
a++;
}
}
}
printf("%d\n", a);
return 0;
}
答案:4430091