嵌入式学习——1——C基础——循环,条件,练习

#include <myhead.h>
int main(int argc, const char *argv[])
{
    // 百钱买百鸡
    // 公鸡每只5元,母鸡每只3元,小鸡1元三只,100元买100只,计算有多少种

    int gj = 0;
    int mj = 0;
    int xj = 0;
    int count = 0;
    while(gj <= 20){
        mj = 0;
        while(mj < 100/3 ){
            xj = 0;
            while(xj < 300){
                if(gj + mj + xj == 100 && xj%3==0 &&(gj * 5 + mj *3 + xj/3 == 100))        
                {
                    printf("公鸡%d只,母鸡%d只,小鸡%d只\n",gj,mj,xj);
                    count++;
                }
                xj++;
            }
            mj++;
        }
        gj++;
    }
    printf("一共%d种\n",count);

    return 0;
}
                                                                                           
                                                                                           
公鸡0只,母鸡25只,小鸡75只
公鸡4只,母鸡18只,小鸡78只
公鸡8只,母鸡11只,小鸡81只
公鸡12只,母鸡4只,小鸡84只
一共4种
#include <myhead.h>
int main(int argc, const char *argv[])
{
    //鸡兔同笼
    //有若干只鸡兔同在一个笼子里,从上面数,有35个头
    //,从下面数,有94只脚。问笼中各有多少只鸡和兔
    //
    int tu = 0;
    int ji = 0;

    while(tu<= 35){
        ji = 35 - tu;
        if(tu + ji == 35 && tu*4 + ji *2 == 94){
            printf("兔子%d只,鸡%d只\n",tu, ji);
        }
        tu++;
    }

    return 0;
} 
兔子12只,鸡23只
#include <myhead.h>
int main(int argc, const char *argv[])
{
    // 韩信点兵
    // 韩信点兵又称为中国剩余定理,相传汉高祖刘邦问大将军韩信的卫
    // 兵有多少,韩信说,3人一列余1,5人一列余1人,7人一列余1人
    // ,……刘邦茫然不知,你知道韩信至少有多少卫兵吗?              
    // (韩信手中有600+,求人数)

    int num = 600;
    while(1){
        if(num%3 == 1 && num%5 == 1 && num%7 == 1){
            printf("有%d兵\n",num);
            break;
        }
        num++;
    }

    return 0;
}
有631兵
#include <myhead.h>
int main(int argc, const char *argv[])
{
    //折纸赛珠峰
    //一张厚足够大的度为1毫米的纸,可以无限折叠,
    //请问,对折多少次后,会超过珠穆朗玛峰(8848.88米)
    int num = 0;
    int inita = 1;
    while(inita <= 8848880){                             
        inita *= 2;
        num++;
    }
    printf("对折%d次\n",num);

    return 0;
}
对折24次
#include <myhead.h>
int main(int argc, const char *argv[])
{
    //猴子吃桃
    //一个猴子吃一颗数上的桃子,每天吃当前桃子的一半并多一个,
    //第十天后,桃子还剩1个,问一开始有多少个桃子
    //
    int num = 1;
    for(int i = 10; i > 1; i--){
        num = (1 + num)*2;
    }
    printf("一共%d个\n",num);

    return 0;
}                                                              
一共1534个
#include <myhead.h>
int main(int argc, const char *argv[])
{
    //斐波那契数列
    int a = 0;
    int b = 1;
    int num = 1;

    for(int i = 0; i < 20; i++){
        printf("%d ",num);
        num = a + b;
        a = b;
        b = num;
    }
    printf("\n");
    //1 1 2 3 5 8 13 21 34 55 
    //89 144 233 377 610 987 1597 2584 4181 6765 
    return 0;
}                                                   
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值