算法入門經典-第七章 例題7-1 除法
阿新 • • 發佈:2017-09-03
abcde 輸入 表達式 c++ 技術分享 pan nbsp turn cnblogs
除法
輸入正整數n,按從小到大的順序輸出所有形如abcde/fghij=n的表達式,其中a~j恰好為數字0~9的一個排列,2<=n<=79.
樣例輸入: 62
樣例輸出:
79546/01238=62
94736/01528=62
#include<stdio.h> #include<string.h> int main() { int n; //x/y=n x用abcde表示,若整除n,求出y,而後用fghij表示Y,看是否重復數字 while(~scanf("%d",&n)) { int a,b,c,d,e;for(a=0;a<=9;a++) for(b=0;b<=9;b++) for(c=0;c<=9;c++) for(d=0;d<=9;d++) for(e=0;e<=9;e++) { int x=a*10000+b*1000+c*100+d*10+e; if(!(x%n)){int y=x/n; int f=y/10000,g=y/1000%10,h=y/100%10,i=y/10%10,j=y%10; int buf[10]; buf[0]=a,buf[1]=b,buf[2]=c,buf[3]=d, buf[4]=e,buf[5]=f,buf[6]=g,buf[7]=h, buf[8]=i,buf[9]=j;for(int k=0;k<9;k++){ for(int t=k+1;t<10;t++)if(!(buf[k]-buf[t]))break;//只跳出了一個循環 if(t!=10)break;//判斷是不是中途中斷了循環 } if(k==9) printf("%d%d%d%d%d/%d%d%d%d%d=%d\n",a,b,c,d,e,f,g,h,i,j,n); } } } return 0; }
算法入門經典-第七章 例題7-1 除法