zoukankan      html  css  js  c++  java
  • 不要62

    此代码超时

    #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 ",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 ",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);
        return0;
    }
    strstr
    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。找到所搜索的字符串,则该函数返回第一次匹配的字符串的地址;如果未找到所搜索的字符串,则返回NULL。
    头文件:#include <string.h>
  • 相关阅读:
    计算几何——直线交点poj1269
    计算几何——线段和直线判交点poj3304
    mysql优化
    MyBatis的返回参数类型和查询结果遍历
    Java中HashMap遍历的两种方式
    Java 常用排序算法/程序员必须掌握的 8大排序算法
    手动挡车该如何磨合
    手动挡你会开吗 八招教你开好手动挡车型
    开手动挡车10大技巧 老司机也不一定全知道!
    手动挡汽车操作必须知道的9大误区
  • 原文地址:https://www.cnblogs.com/liuming1115/p/4479661.html
Copyright © 2011-2022 走看看