第四题:数的分解(10分)
题目描述
把 2019分解成 3个各不相同的正整数之和,并且要求每个正整数都不包
含数字2和4,一共有多少种不同的分解方法?
注意交换 3个整数的顺序被视为同一种方法,例如 1000+1001+18和
1001+1000+18被视为同一种。
代码:
#include<stdio.h>
bool check(int n)
{
while(n)
{
if(n%10==2||n%10==4)
return true;
n/=10;
}
return false;
}
int main()
{
int i,j;
int k,sum=0;
for(i=1;i<2000;i++)//2000以上包含2
{
if(check(i))
continue;
for(j=i+1;j<2019-i-j;j++)//使i<j<2019-i-j
{
if(check(j)==false&&check(2019-i-j)==false)
sum++;
}
}
printf("%d\n",sum);
return 0;
}