33(1到33)个数字,以任意选6个数字相加之和等于104 有几组
33(1到33)个数字,以任意选6个数字相加之和等于104 有几组
那些人的回答貌似看不懂,用中文我来解释一下
用首尾相加的方法分成3组用104除以3,但无法整除,得34余2,即有两组的和数为34,另一组为36,举一个例子
1 33 2 32 5 31,前四个数已定,看最后两个数相加得36即可。有6 30;7 29。。。。。。再看几组
2 32 3 31 6 30
3 31 4 30 7 29
4 30 5 29 8 28
。。。。。。。。
看出来了吧,前四个数用回笼法逼近,每两个数和等于34,后两个数在剩下的数中找两个和等于36即可,明白吗?
#include
int main()
{
int cnt = 0;
int i,j,k,x,y,z;
for(i=1; ifor(j=i+1; jfor(k=j+1; kfor(x=k+1; xfor(y=x+1; yfor(z=y+1; zif(i+j+k+x+y+z == 104)
{
printf("%d+%d+%d+%d+%d+%d=104\n",i,j,k,x,y,z);
cnt++;
}
printf("cnt=%d\n",cnt);
}
19995组
#include
main(){
int a,b,c,d,e,f,g;
long i=0;
for( a=1;a
n = 19995
Sub main()
n = 0
For a = 1 To 33
For b = a + 1 To 33
For c = b + 1 To 33
For d = c + 1 To 33
For e = d + 1 To 33
For f = e + 1 To 33
If a + b + c + d + e + f = 104 Then n = n + 1
Next f
Next e
Next d
Next c
Next b
Next a
End Sub