2.幸运数
小蓝认为如果一个数含有偶数个数位,并且前面一半的数位之和等于后面一半的数位之和,则这个数是他的幸运数字。
例如 2314 是一个幸运数字,因为它有 4 个数位,并且 2 + 3 = 1 + 4 。
现在请你帮他计算从 1 至 100000000 之间共有多少个不同的幸运数字。
本题的结果为一个整数,在提交答案时只输出这个整数,输出多余的内容将无法得分。
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL n = 100000000;
int cnt;
int main()
{for(LL i = 10; i <= n; i ++){string s = to_string(i);int n = s.size();if(n % 2 != 0)continue;int n1 = 0, n2 = 0;for(int i = 0; i < n / 2; i ++)n1 += s[i] - '0';for(int i = n / 2; i < n; i ++)n2 += s[i] - '0';if(n1 == n2)cnt ++;}cout << cnt << endl;return 0;
}
答案:4430091