每日刷题(四)
蓝桥杯第十届C语言B组省赛习题
D:数的分解
题解代码如下:
#include<stdio.h>
int main()
{
int a, b, c, num = 0;
for(a = 1; a <= 2019; a++)
if(a % 10 != 2 && a % 10 != 4 && a / 10 % 10 != 2 && a / 10 % 10 != 4 && a / 100 % 10 != 2 && a / 100 % 10 != 4 && a / 1000 != 2 && a / 1000 != 4)
for(b = a + 1; b <= 2019; b++)
if(b % 10 != 2 && b % 10 != 4 && b / 10 % 10 != 2 && b / 10 % 10 != 4 && b / 100 % 10 != 2 && b / 100 % 10 != 4 && b / 1000 != 2 && b / 1000 != 4)
for(c = b + 1; c <= 2019; c++)
if(c % 10 != 2 && c % 10 != 4 && c / 10 % 10 != 2 && c / 10 % 10 != 4 && c / 100 % 10 != 2 && c / 100 % 10 != 4 && c / 1000 != 2 && c / 1000 != 4)
if(a + b + c == 2019)
{
printf("%d + %d + %d = 2019\n",a,b,c);
num++;
}
printf("一共有%d种分解方法\n", num);
return 0;
}
运行结果为40785