杭電2089 超時問題

這個題的其他部分還好解決,關鍵是超時,最後還是未解決

 

#include<stdio.h>
#include<string.h>
int isno(int n)
{
 char s[10];
 sprintf(s,'%d',n);
 if(strchr(s,'4') || strstr(s,'62'))
  return 0;
 return 1;
}
int main()
{
 long int i,n,m,j,cout,a[1000010];
 memset(a,0,sizeof(a));
 a[0]=1;
 for(i=1;i<1000010;i++)
 {
  a[i]=a[i-1]+isno(i);
 }
 while(scanf('%d%d',&n,&m)==2 &&(m||n) )
 {
  cout=a[m]-a[n];

  printf('%d\n',cout);
 }
 return 0;
}

 
發佈了35 篇原創文章 · 獲贊 3 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章