小朋友学奥数(7):三个自然数之和为8
2017-10-24 本文已影响62人
海天一树X
题目:
老师要求每个同学写出3个自然数,并且要求这3个数的和是8.如果两个同学写出的3个自然数相同,只是顺序不一样,就算是同一种写法.试问:同学们最多能给出多少种不同的写法?
数学解法:
这题跟上两题思路略有不同。
自然数1 | 自然数2 | 自然数3 |
---|---|---|
0 | 0 | 8 |
0 | 1 | 7 |
0 | 2 | 6 |
0 | 3 | 5 |
0 | 4 | 4 |
1 | 1 | 6 |
1 | 2 | 5 |
1 | 3 | 4 |
2 | 2 | 4 |
2 | 3 | 3 |
注意上面的枚举规律:
第一列按从小到大的顺序;
第二列大于等于第一列,第三列大于等于第二列。否则立马出现重复。
答:10种
编程解法:
#include <stdio.h>
int main ()
{
int count = 0; // 存放可能的情况
// i用来枚举第一个数的取值情况
for(int i = 0; i <= 8; i++)
{
// j用来枚举第二个数的取值情况
for(int j = i; j <= 8; j++)
{
// k用来枚举第三个数的取值情况
for(int k = j; k <= 8; k++)
{
if(8 == i + j + k)
{
printf("%d,%d,%d\n", i, j, k);
count++;
}
}
}
}
printf("共有%d种可能\n", count);
return 0;
}
运行结果:
0,0,8
0,1,7
0,2,6
0,3,5
0,4,4
1,1,6
1,2,5
1,3,4
2,2,4
2,3,3
共有10种可能
更多内容请关注微信公众号
wchat.jpg