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>
  • 相关阅读:
    linux常用统计命令
    linux文件处理命令
    linux三剑客和管道使用
    bash编程语法
    第八章:用通配符进行过滤
    第七章:数据过滤
    第六章:过滤数据
    第五章:排序检索数据
    第四章:检索数据
    第二章:MYSQL简介
  • 原文地址:https://www.cnblogs.com/liuming1115/p/4479661.html
Copyright © 2011-2022 走看看