/*
题目:三色球问题
内容:一个口袋里放有12个球,已知其中3个是红的,3个是白的,6个是黑的,现在从中任取8个,问共有
多少种可能的颜色搭配?
作答者:小白杨
收获: 设8个球中红球为x1个,白球为x2个,则黑球为8-x1-x2。又已知12个球中有3个红球,3个白球,6
个黑球,因此x1的取值范围[0,3],x2的取值范围为[0,3],黑球的个数小于等于6,即8-x1-x2<=6.
*/#include int main()
{int x1,x2,x3,flag = 0;for(x1=0;x1<=3;x1++){for(x2=0;x2<=3;x2++){x3 = 8-x1-x2;if(x3<=6)flag++;}}printf("%d\n",flag);return 0;
}/*
题目:出售金鱼(枚举法)
内容: 小明将养的一缸金鱼分5次出售:第一次卖出全部的一半加1/2条;第二次卖出余下的三分之一加
1/3条;第3次卖出余下的四分之一加1/4条;第4次卖出余下的五分之一加1/5条;最后卖出余下的11条。
试编程求出原来鱼缸中共有多少条鱼。
作答者:小白杨
收获:依题意可知,金鱼是分5次出售的,每次卖出的方式都相同,因此可以用表达式将每次卖鱼后剩下的
条数计算出来。
由:
第1次卖出全部的一半加1/2条;
第2次卖出余下的三分之一加1/3条;
第3次卖出余下的四分之一加1/4条;
第4次卖出余下的五分之一加1/5条;
可推出:第j次卖出余下的(j+1)分之一加1/(j+1)条。
假设第j次卖鱼前金鱼总数为x,则第j次卖鱼后鱼缸中还剩下金鱼的条数为:x-(x+1)/(j+1).
又由于“最后卖出余下的11条”,因此第4次卖鱼后鱼缸中剩下的金鱼条数为11条。因为金鱼只能整条进行
出售,因此x+1必然能够整除j+1.可以从23开始试探x的取值,由于x值必为奇数,因此步长取2.
*/
#include int main()
{int i,j,x,flag = 0;for(i=23; flag==0; i+=2){for(j=1,x=i;j<=4&&x>=11;j++){if((x+1)%(j+1)==0)x -= (x+1)/(j+1);elsebreak; }if(j==5&&x==11){printf("%d\n",i);flag = 1;}}return 0;} /*
题目:求车速
内容:
作答者:
收获: 优化:将一位5位数存入一个数组*/#include int main()
{double v;long x = 95860,k=100000;int t,a[5] = {0};while(x<100000){/*a[0] = x/10000;a[1] = (x%10000)/1000;a[2] = ((x%10000)%1000)/100;a[3] = (((x%10000)%1000)%100)/10;a[4] = (((x%10000)%1000)%100)%10;*/for(t=0;t<5;t++){a[t] = (x%k)/(k/10);k /= 10;}if(a[0]==a[4]&&a[1]==a[3])break;x++;}v = (double)(x-95859)/2;printf("车速:%f\t,新的对称数:%d\n",v,x);return 0;
}/*
题目:爱因斯坦的数学问题
内容:
作答者:小白杨
内容:
*/#include int main()
{int n,i,flag;//while(1){flag = 0;scanf("%d",&n);for(i=7;i<=n;i+=7){if((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)){printf("%d\t",i);flag++;if(flag%5 == 0)printf("\n");}}printf("\n在1~%d中有%d个数满足条件\n",n,flag);}return 0;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!