Problem S 除法問題(第四講)

題目描述
輸入正整數n,遇到文件末尾結束。按從小到大順序輸出所有形如abcde/fghij=n的表達式,其中a到j恰好爲數字0到9的一個排列(可以有前導0),無解輸出“no answer”,n在2到79之間。

輸入
一行輸入一個整數n。

輸出
形如abcde/fghij=n的表達式。

樣例輸入
62
樣例輸出
79546 / 01283 = 62
94736 / 01528 = 62


 

#include <stdio.h>

int main()
{
    int n,x,y,temp;//a[10]={0};
    int i,j,flag;
    scanf("%d",&n);
    for(x=12345;x<=98765;x++)
    {
        int a[10]={0};
        flag = 1;
        temp = x;
        
    //    if(x%n != 0)                    //不用這句數組a要重新全部初始化! 
    //        continue;
    
        if(x%n== 0)                        //記錄y的各個位 
        {
        
            y = x/n;
            for(i=4;i>=0;i--)
            {
                a[i] = y%10;
                y = y/10;
            }
        }
        
        for(i=9;i>=5;i--)                //記錄x的各個位 
        {
            a[i] = temp%10;
            temp = temp/10;
            
        }
        
        for(i=0;i<9;i++)                //判斷有沒有重複的 
        {
            for(j=i+1;j<=9;j++)
            {
                if(a[i] == a[j])
                {
                    flag = 0;
                    break;
                }
            }
            if(flag ==0)
                break;
        }
        
        if(flag==1)                        //打印 
        {
            for(i=5;i<=9;i++)
                printf("%d",a[i]);
            printf(" / ");
            for(i=0;i<5;i++)
                printf("%d",a[i]);
            printf(" = %d\n",n);
        }    
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章