• 循环的经典案例(李白买酒)


    1:计算0~100之间所有能被3整除和带3的数字之和

    int i=0;//循环变量

       int sum=0;

       while(i<100){

          if((i%3==0)||(i%10==3)||(i/10==3)){

          sum+=i;

        }

        i++;

       }

       printf("0~100之间所有能被3整除和带3的数字之和为%d",sum);

    2:打印100~1000之间所有水仙花数,并统计其个数:==>153=1^3+5^3+3^3

    int i=100;//循环变量

      int count=0,ge,shi,bai,he;//统计水仙花数

      do{

        ge=i%10;//获取个位

        shi=i/10%10;//获取十位

        bai=i/100; //获取百位

        he=ge*ge*ge+shi*shi*shi+bai*bai*bai;

        if(he==i){

             printf("%d ",i);

             count++;

    }

       i++;

      }while(i<1000);

      printf(" 100~1000之间共有%d个水仙花数",count);

    3:李白闲来无事街上走,提壶去买酒,遇店加一倍,遇花喝一斗,五遇花和店喝光壶中酒,李白壶中原有多少酒? ===>逆向思维

      //分析:假设原有壶中有x斗酒;===>遇到花之前(x+1);遇到店之前(x+1)/2

    #include <stdio.h>
    void main(){
        float x=0;//壶中原有酒的斗数
        int i=0;
    
        while(i<5){
    
            x=(x+1)/2;//遇到花和店之前的壶中酒的斗数
    
            i++;
    
        }
    
        printf("李白壶中原有%.3f斗酒",x);//%.3f保留小数点后三位
    }
  • 相关阅读:
    sql学习笔记
    正则表达式30分钟入门教程(转) 收藏
    学习Javascript闭包(Closure)
    Bug等级规范
    下载1G的东西用1M网速理论上要用多长时间?
    C#多线程学习(四) 多线程的自动管理(线程池)
    JS调用WebServers
    北京软件公司排名
    Js调用WebServices
    C#多线程学习(三) 生产者和消费者
  • 原文地址:https://www.cnblogs.com/xiaomeng7/p/6602950.html
Copyright © 2020-2023  润新知