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

【项目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;
}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值