码迷,mamicode.com
首页 > 其他好文 > 详细

不要62

时间:2015-05-05 19:18:27      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

此代码超时

#include <stdio.h>
#include <string.h>
int main()
{
int i,n,m,t;
char s[10];
     while(scanf("%d %d",&n,&m)!=EOF)
      {       t=0;
                  for(i=n;i<=m;i++)
                    {
                          sprintf(s,"%d",i);
                          if(strstr(s,"62")||strstr(s,"4")) t++;
                      }
               printf("%d\n",m-n+1-t);
       }
return 0;
}

更正后

#include <stdio.h>
#include <string.h>
int a[1000024]={0};
int main()
{
        int i,n,m,t;
            char s[10];
           for(i=1;i<=1000000;i++)
               {
                  sprintf(s,"%d",i);
             if(!(strstr(s,"62")||strstr(s,"4"))) a[i]=1;
               }
       while(scanf("%d %d",&n,&m)!=EOF)
         {   t=0;
             if(n==0&&m==0) break;
              for(i=n;i<=m;i++)
                   {
                      if(a[i]==1) t++;
                    }
                printf("%d\n",t);
           }
return 0;
}

此次用到函数sprintf(s,"%d",i),是将数字转换为字符串的;

还有一个函数itoa(i,s,10);  后面的10是指十进制,头文件<stdlib.h>中,与之有相反功能的函数是atoi

#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
    int n;
    char *str = "12345.67";
    n = atoi(str);
    printf("int=%d\n",n);
    return0;
}
strstr
strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。
头文件:#include <string.h>

 

不要62

标签:

原文地址:http://www.cnblogs.com/liuming1115/p/4479661.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!