程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 10624 - Super Number

10624 - Super Number

編輯:C++入門知識

[cpp]   描述:險過,2.856s,題意就是前幾位能被幾整除,n表示是從第n位開始,m表示是到m位結束,如果在這期間存在一個數可以整除從n到m區間的任何一個數,那就輸出,如果存在多個,選取最小的一個輸出,如果不存在,輸出-1   #include <cstdio>   #include <cstdlib>   #include <cstring>   int n,m,flag,sum;   char str[35];   int cal(int cur)   {       int c=0;       for(int i=0; i<cur; i++) c=(c*10+str[i]-'0')%cur;       return c;   }   void dfs(int cur)   {       if(flag) return;       if(cur==m)       {           flag=1;           printf("%s\n",str);           return;       }       for(int i=0; i<10; ++i)       {           str[cur]='0'+i;           if(cur<n-1||!cal(cur+1))dfs(cur+1);           if(flag) return;       }   }   int main()   {       //freopen("a.txt","r",stdin);       int t,c=1;       scanf("%d",&t);       while(c<=t)       {           scanf("%d %d",&n,&m);           printf("Case %d: ",c++);           flag=sum=0;           if(n<m)               for(int i=1; i<10; ++i)               {                   str[0]=i+'0';                   dfs(1);                   if(flag) break;               }           if(!flag) printf("-1\n");       }       return 0;   }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved