这道题目是: 平分七筐鱼 甲、乙、丙三位渔夫出海打鱼,他们随船带了21只箩筐。当晚返航时,他们发现有十
public class Test{ public static void main(String args[]){ for(int a=1;a<=7;a++) for(int b=1;b<=7;b++) for(int c=1;c<=7;c++) for(int x=1;x<=7;x++) for(int y=1;y<=7;y++) for(int z=1;z<=7;z++) for(int m=1;m<=7;m++) for(int n=1;n<=7;n++) for(int l=1;l<=7;l++){ if((a+b+c==7)&&(x+y+z==7)&&(m+n+l==7)&& (a+0.5*x==3.5)&&(b+0.5*y==3.5)&&(c+0.5*z==3.5)&& (a+x+m==7)&&(b+y+n==7)&&(c+z+l==7)){ System.out.printf("第1人分满筐,半筐,空筐分别为:(%d,%d,%d)
",a,x,m); System.out.printf("第2人分满筐,半筐,空筐分别为:(%d,%d,%d)
",b,y,n); System.out.printf("第3人分满筐,半筐,空筐分别为:(%d,%d,%d)
",c,z,l); System.out.printf("
"); } } } }
int a[3][3],count; // 这样的定义是宏定义? 这样的定义一般在什么地方用呢 为什么不用
#define 来定义呢
//这个不是宏定义,只是普通的全局变量定义,#define主要用来定义常量变量
// 这里的 条件语句flag&&n<3怎么结合题意应该怎么理解 特别是flag 不能理解
//flag即判断(flag!=0),当前还满足题意则继续,,否则已经失败可以不用继续
//n<3因为是3个人在分配
// 这里的 ++count 怎么理解 count 初值又是什么呢
把count自加1后打印出来,初值为0
满筐 半筐 空筐
甲 3 1 3
乙 3 1 3
丙 1 5 1
第二种分法:
满筐 半筐 空筐
甲 2 3 2
乙 2 3 2
丙 3 1 3
分析如下:
每个人分到七个筐,其中有3.5筐鱼。
采用一个3*3的数组a来表示三个人分到的东西。
可以推出:
1、数组的每行或没列的元素之和都为7
2、对数组的行来说,半筐数+满筐数=3.5
3、每个人所得的满筐数不能超过3
4、每个人必须至少有1个半筐,且半筐数一定为奇数
#include<stdio.h>
int a[3][3],count;
int main()
{
int i,j,k,m,n,flag;
printf("It exists possible distribtion plans: ");
for(i=0;i<=3;i++) /*试探第一个人满筐a[0][0]的值,满筐数不能>3*/
{
a[0][0]=i;
for(j=i;j<=7-i&&j<=3;j++) /*试探第二个人满筐a[1][0]的值,满筐数不能>3*/
{
a[1][0]=j;
if((a[2][0]=7-j-a[0][0])>3)continue; /*第三个人满筐数不能>3*/
if(a[2][0]<a[1][0])break; /*要求后一个人分的满筐数>=前一个人,以排除重复情况*/
for(k=1;k<=5;k+=2) /*试探半筐a[0][1]的值,半筐数为奇数*/
{
a[0][1]=k;
for(m=1;m<7-k;m+=2) /*试探 半筐a[1][1]的值,半筐数为奇数*/
{
a[1][1]=m;
a[2][1]=7-k-m;
for(flag=1,n=0;flag&&n<3;n++)
/*判断每个人分到的鱼是 3.5筐,flag为满足题意的标记变量*/
if(a[n][0]+a[n][1]<7&&a[n][0]*2+a[n][1]==7)
a[n][2]=7-a[n][0]-a[n][1]; /*计算应得到的空筐数量*/
else flag=0; /*不符合题意则置标记为0*/
if(flag)
{
printf("No.%d Full basket Semi--basket Empty ",++count);
for(n=0;n<3;n++)
printf(" fisher %c: %d %d %d ",
"A"+n,a[n][0],a[n][1],a[n][2]);
}
}
}
}
}
}
先说鱼。。。一共10.5筐,三个人分,就是一人3.5筐,也就是说必须每人有一个半筐的。
然后就是分筐,一共有21个筐,每人要分到7个,每人又必须有一个装了半筐鱼的筐。
所以现在是18个筐,其中7个是满的,7个是空的,4个是半筐的。。每人需要分到6个筐。并且6个筐里的鱼加起来正好是3筐。把所有的鱼都看成半筐的,也就是18个半筐,一人是6个装半筐的,随便拿!
也就是说,先拿出3个半筐的一人一个~~
然后把剩下的4个半筐的分成2份,每份的看为1筐。共2筐
把7筐满的和7筐空的,一比一的配成7份,每份看为1筐。共7筐
每人随意分3份
七个半筐就是3.5个满筐,根据提示现总共有10.5筐,也就是三人总共分3.5筐,怎么分不用我说了吧,其中两个得两个满筐和一个半筐,剩下的就全是第三个人的了
七框满的,每人各两框,剩下一个满的分成两个半的,这样9框半的,每人三框半的就可以了,
最后结果每人两框满的,三框半的
定磊妇康: 第一种分法:满筐 半筐 空筐 甲 3 1 3 乙 3 1 3 丙 1 5 1第二种分法:满筐 半筐 空筐 甲 2 3 2 乙 2 3 2 丙 3 1 3分析如下: 每个人分到七个筐,其中有3.5筐鱼. 采用一个3*3的数组a来表示三个人分到的东西. 可以推出:1、数组的每行或没列的元素之和都为72、对数组的行来说,半筐数+满筐数=3.53、每个人所得的满筐数不能超过34、每个人必须至少有1个半筐,且半筐数一定为奇数
玉龙纳西族自治县19234787283: 平分七筐鱼 甲、乙、丙三位渔夫出海打鱼,他们随船带了21只箩筐.当晚返航时,他们发现有十甲乙丙三渔夫出海打渔,他们随传带21只箩筐,当晚返回是,... - ?
定磊妇康:[答案] 第一种分法:满筐 半筐 空筐甲 3 1 3乙 3 1 3 丙 1 5 1第二种分法:满筐 半筐 空筐甲 2 3 2乙 2 3 2 丙 3 1 3分析如下:每个人分到七个筐,其中有3.5筐鱼.采用一个3*3的数组a来表示三个人分到的东西.可以推出:1、数...
玉龙纳西族自治县19234787283: c语言,平分七筐鱼 甲、乙、丙三位渔夫出海打鱼,他们随船带了21只箩筐. - ?
定磊妇康: 根据提议可知:每个人应分到7个箩筐,每人各3.5筐鱼.采用3*3数组来表示三个人分到的东西. 数组的每行每列元素之和都是7; 数组行: 满筐 + 半筐 = 3.5筐; 每个人所得满筐数不会超过3筐; 每个人至少有1个半筐; class Program{static...
玉龙纳西族自治县19234787283: 甲、乙、丙三位鱼夫出海打鱼,他们随船带了21只箩筐.当晚返航时,他们发现有七筐装满了鱼,还有七筐装了半筐鱼,另外七筐则是空的,由于他们没有秤,只好通过目测认为七个满筐鱼的重量是相等的,7个半筐鱼的重量是相等的.在不将鱼倒出来的前提下,怎样将鱼和筐平分为三份? 需要用Java - ?
定磊妇康: 根据题意可以知道:每个人应分得七个箩筐,其中有3.5筐鱼.采用一个3*3的数组a来表示三个人分到的东西.其中每个人对应数组a的一行,数组的第0列放分到的鱼的整筐数,数组的第1列放分到的半筐数,数组的第2列放分到的空筐数.由题目可以推出: .数组的每行或每列的元素之和都为7; .对数组的行来说,满筐数加半筐数=3.5; .每个人所得的满筐数不能超过3筐; .每个人都必须至少有1 个半筐,且半筐数一定为奇数 对于找到的某种分鱼方案,三个人谁拿哪一份都是相同的,为了避免出现重复的分配方案,可以规定:第二个人的满筐数等于第一个人的满筐数;第二个人的半筐数大于等于第一个人的半筐数.
玉龙纳西族自治县19234787283: 甲乙丙三个人一共买了一筐鱼,平均分成三份还多出了一条甲便把三个筐里的鱼各挑出了一条,乙和丙也做了一 - ?
定磊妇康: 10条
玉龙纳西族自治县19234787283: 甲乙两人去江边钓鱼,甲钓了7条鱼,乙钓了11条鱼.中午来了一位游客,甲乙两人把钓得的鱼烧熟后平均分成中午来了一位游客,甲乙两人把钓得的鱼烧熟后... - ?
定磊妇康:[答案] (7+11)÷3=每人6条鱼 30÷6=游客食用的每条鱼为5元 假设全部的鱼=18*5=90 按同比支出,非同比收入的概念: 甲=7-6÷2=4条*5元=20元的产出 乙=11-6÷2=8条*5元=40元的产出 其实只需通过甲乙的产出比例=1:2即可得出: 30÷3=10则甲的收入为10...
玉龙纳西族自治县19234787283: 甲、乙两人去江边钓鱼,甲钓了7条,乙钓了11 条. - ?
定磊妇康: 两人共钓鱼: 7+11=18 平均分成3份 18÷3=6 每人吃了6条 6÷6=1 每条鱼1元 甲吃了6条贡献1条 (7-6)*1=1(元)乙吃了6条贡献5条 (11-6)*1=5(元) 甲得1元,乙得5元
玉龙纳西族自治县19234787283: 共捕到多少条鱼?
定磊妇康: 丙有3条,故丙分之前有(3÷1/3)+1=10条 所以乙丢掉1条并拿走1/3后还剩10条 故乙拿之前有(10÷2/3)+1=16条 同理鱼共有(16÷2/3)+1=25条
玉龙纳西族自治县19234787283: 奥数题;甲、乙两人去江边钓鱼,甲钓了7条,乙钓了11条鱼.中午,来了一位游客,甲乙两人把钓得的鱼烧熟后?
定磊妇康: 7+11=18 18/3=6 甲7-6=1 乙11-6=5 每条鱼一元钱 甲给了1条,乙给了5条
玉龙纳西族自治县19234787283: 数学逻辑题//为什么满篮子与空篮子的数量一致?甲、乙、丙三位鱼夫出海打鱼,他们随船带了21只箩筐.当晚返航时,他们发现有七筐装满了鱼,还有七筐... - ?
定磊妇康:[答案] 甲3个满的 1个半框的 3个空的 乙2 3 2 丙2 3 2