暴力除法C语言,暴力除法
題目描述
輸入正整數(shù)n,按從小到大的順序輸出所有形如abcde/fghij=n的表達式,其中a~j恰好為數(shù)字0~9的一個排列,2<=n<=79
輸入
輸入包括多行,每行一個正整數(shù)n,2<=n<=79
輸出
針對每個輸入的n,從小到大輸出該表達式,若沒有表達式可以生成,則不輸出。
樣例輸入
62
樣例輸出
79546/01283=62
94736/01528=62
提示
/*用分治法全排列因為遞歸時間太長? 所以用循環(huán)窮舉*/
#include
int main(){
int a[10],x=0,y,visit=0;
int num;
int b[10]={0};
while(scanf("%d",&num)!=EOF){
x=1234*num;
y=1234;
while(x<98765){///while
int y1=y;
visit=0;
for(int e=0;e<10;e++){
b[e]=0;
}
for(int j=0;j<5;j++){//for j
a[j]=y1%10;
if(b[a[j]]==1){
y++;
visit=1;
break;
}
b[a[j]]=1;
y1=y1/10;
}//for j
if(visit==0){//if visit
//x=num*y;
int x1=x;
for(int i=5;i<10;i++){
a[i]=x1%10;
if(b[a[i]]==1){
visit=1;
y++;
break;
}
b[a[i]]=1;
x1=x1/10;
}
if(visit==0){
printf("%d/",x);
if(y<10000)
printf("0");
printf("%d=%d\n",y,num);
y++;
}
}//if visit
x=num*y;
}//while
}
return 0;
}
總結
以上是生活随笔為你收集整理的暴力除法C语言,暴力除法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言程序链接过程,C语言简明教程(二)
- 下一篇: c语言多线编程程序,C语言之多线编程 来