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>
  • 相关阅读:
    文件上传-pubsec-文件上传大小限制
    编写 .gitignore 文件
    Git 创建点开头的文件和目录
    Git 克隆远程仓库到本地
    redis 在 windows 中的安装
    查看数据库字符集和排序规则
    centos 6 和centos 7 系统下vnc配置
    centos 6 下KVM 安装学习之旅
    Centos 下使用VLAN+Bridge 搭建KVM基础网络环境
    centos 6 KVM 网卡桥接配置
  • 原文地址:https://www.cnblogs.com/liuming1115/p/4479661.html
Copyright © 2011-2022 走看看