您的位置:首页 > 其它

40节课后再解鸡兔共笼and找数字等

2015-12-23 23:06 417 查看
【项目3-鸡兔共笼】

鸡兔共有30只,脚共有90只,问鸡兔各有多少?

分析:鸡加兔总数是30,鸡俩脚,兔4脚,设x只鸡,y只兔子,则2x+4y=90;

代码:

/*鸡兔同笼*/
#include <stdio.h>
int main()
{
    int x,y,n,m;
    for(x=1;x<=45;x++)
        for(y=1;y<23;y++)
    {
        n=x+y;
        m=x*2+y*4;
        if(n==30&&m==90)
            printf("鸡有%d,兔子有%d\n",x,y);
    }
    return 0;
    }
这个代码有点废话,其实鸡的数量为x,兔子就是30-x,所以我们再写一次

代码:

/*鸡兔同笼*/
#include <stdio.h>
int main()
{
    int x,n;
    for(x=1;x<=45;x++)
        {
            n=x*2+(30-x)*4;
            if(n==90)
            printf("鸡有%d,兔子有%d\n",x,(30-x));
        }
    return 0;
    }


【项目4-换分币】

用一元人民币兑换成1分、2分和5分硬币,有多少种不同的兑换方法?请输出所有可能的方案。

分析:一元就是100分,设三个变量分别表示1,2,5分 相加等于100即可

代码:

/*换分币*/
#include <stdio.h>
int main()
{
    int a,b,c=0,n,g;
    for(a=0;a<=100;a++)
        for(b=0;b<=50;b++)
    {
        g=100-a-b*2;
        if((g%5==0)&&(g/5>=0))
       {
           n=a+b*2+g;
        if(n==100)
        {
            printf("兑换1分%d枚,2分%d枚,5分%d枚\n",a,b,g/5);
            c++;
        }
       }
    }
    printf("一共有%d种兑换方法",c);
    return 0;
    }
【项目5-年龄几何】

张三、李四、王五、刘六的年龄成一等差数列,他们四人的年龄相加是26,相乘是880,求以他们的年龄为前4项的等差数列的前20项。

分析:年纪最小的为首项数值n,按等差a依次相加,n+n+a+n+2a+n+3a等于26,相乘是880,很容易求出等差和首项,然后循环相加即可求出前20项

代码:

/*年龄几何*/
#include <stdio.h>
int main()
{
    int n,sum,Product_s,i,y;
    for(n=2;n<=6;n++)
    {
        for(i=3;i<=3;i++)
        {
            sum=0;
            Product_s=1;
            for(y=0;y<=3;y++)
            {
                sum+=n+y*i;
                Product_s*=n+y*i;
            }
            if(sum==26&&Product_s==880)
            {
                for(y=0;y<=19;y++)
                    printf("%d ",n+y*i);
            }
        }
    }
    return 0;
    }
【项目6-三色球问题】

若一个口袋中放有12个球,其中有3个红的。3个白的和6个黒的,问从中任取8个共有多少种不同的颜色搭配?

分析:黑球出现个数8-红球-白球。最多6个

代码:

/*三色球问题*/
#include <stdio.h>
int main()
{
    int r,w,b,i=0;
    for(r=0;r<=3;r++)
        for(w=0;w<=3;w++)
    {
        b=8-r-w;
        if(b<=6)
        {
            printf("红球%d,白球%d,黑球%d\n",r,w,b);
            i++;
        }
    }
    printf("一共有%d种方法!",i);
    return 0;
    }


【项目7-找数字】

(1)求满足下式的 x,y,z

x y z

+ y z z

──────

5 3 2

分析:2z%10余数为2 ,这题估摸着老师不会想我们直接口算吧!!!~!!~!~!

代码:

#include <stdio.h>
int main()
{
    int x,y,z;
    for(x=-9;x<=9;x++)
        for(y=-9;y<=9;y++)
        for(z=-9;z<=9;z++)
              if(x*100+y*10+z+y*100+z*10+z==532&&((z+z)%10==2))
            {
                printf("x=%d,y=%d,z=%d\n",x,y,z);
            }
    return 0;
}


(2)

C

学 C

要 学 C

+ 都 要 学 C

________________ 求都要学C四个数字

2 0 0 8

不用分析了吧!!~!~!~!~!

代码:

/*求数字*/
#include <stdio.h>
int main()
{
    int x,y,z,n;
    for(x=0;x<=9;x++)
        for(z=0;z<=9;z++)
        for(y=0;y<=9;y++)
        for(n=0;n<=2;n++)
    {
        if(x+z*10+x+y*100+z*10+x+n*1000+y*100+z*10+x==2008&&(x*4)%10==8&&(x-y)*(x-z)*(x-n)*(y-z)*(y-n)*(z-n)!=0)
            printf("x=%d,z=%d,y=%d,n=%d\n",x,z,y,n);
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: