题目
把 2019 分解成 3 个各不相同的正整数之和,并且要求每个正整数都不包
含数字 2 和 4,一共有多少种不同的分解方法?
注意交换 3 个整数的顺序被视为同一种方法,例如 1000+1001+18 和
1001+1000+18 被视为同一种。
填空题仔细看看,上年看错题了把0的情况算进去了,然后分没了。所以考试时候把条件列一下也好。
正整数 三个数不同 不含2,4
#include<iostream>
using namespace std;
bool check(int x){
if(x<=0){
return false;
}
while(x>0){
if((x%10!=2)&&(x%10!=4)){
x/=10;
}
else{
return false;
}
}
return true;
}
int main(){
int count = 0;
int c;
for(int i=1;i<2019;i++){
if(check(i)){
for(int j=1;j<2019;j++){
c=2019-i-j;
if((check(j))&&(check(c)&&(i!=j&&j!=c&&c!=i))){
count++;
}
else{
continue;
}
}
}
}
if(count%6==0){
cout<<"应该对"<<endl;
cout<<count/6<<endl;
}
else{
cout<<count<<" 不咋对"<<endl;
}
return 0;
}