暴力找数字水题~

    这是一道大水题吧,无脑送分。但当时比赛时候却没做出来,今天又看了试着做了下,结果一下子答案就对了。

    开心的不得了。

    题目大意好理解,找出【n,m】区间内含有4或者38的数字,看总共有多少。当时做的时候写了好长好长,不知道

    怎么处理既含有38又含有4的数字,今天可能灵气十足,几乎没有思考,直接就写出了处理的方法。既然是大水题,

    不多BB,直接看代码吧。

#include<stdio.h>
int main()
{
   int a,b,e,c,d,i,sum;

   while(scanf("%d %d",&a,&b),a+b)   //多组测试,a,b同为0时候结束,这里有个简单的技巧,后面写个a+b就可以实现。

   {                                                            之前写的一直都是  a!=0||b!=0,显然这种写法已经被我嫌弃了;

       sum=0;
       for(i=a;i<=b;i++)
       {

           e=i;                                       //如果是一个循环的数需要在循环内参与运算,一定把它的值赋给一个变量,否则容

                                                           易出错。这里就是把循环数i的值赋给e,让e进行运算,之间的道理,自己好好想想,

                                                            应该可以想明白的;

           while(e)                               //非零即真,进行循环;
           {
               c=e%10;                         //这是要找出4;
               d=e%100;                      //这是要找出38;
               if(c==4||d==38)
               {
                   sum++;
                   break;                         //如果符合判断,sum+1,跳出while循环,进行下一个for循环;
               }
               e/=10;                           //如果第一次没有找到4或38,让e除十取整,再进行while循环判断。如此往复;
           }
       }
       printf("%d\n",sum);
   }
   return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值