数的分解
把2019分解成3个各不相同的正整数之和,并且要求每个正整数都不包含数字2和4,一共有多少种不同的分解方法?
注意交换3个整数的顺序被视为同一种方法,例如1000+1001+18 和1001+1000+18 被视为同一种。
#include <iostream>
using namespace std;
bool check(int x) {
while(x) {
if(x%10==2||x%10==4)
return false;
x/=10;
}
return true;
}
int main() {
int num=0;
for(int i=1; i<=2019; i++)
for(int j=i+1; j<=2019; j++)
for(int k=j+1; k<=2019; k++) {
if(i+j+k==2019&&check(i)&&check(j)&&check(k))
num++;
}
cout<<num;
}
40785