1. 程式人生 > >算法入門經典-第七章 例題7-1 除法

算法入門經典-第七章 例題7-1 除法

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 除法