私のACMの道——暴力の除法


質問B:暴力除法
時間制限:1 Sec
メモリ制限:128 MB
コミット:1277
解決:558
[コミット][ステータス][ディスカッション]
タイトルの説明
正の整数nを入力し、abcde/fghij=nのようなすべての形の式を小さい順に出力し、ここでa~jはちょうど0~9の1つの配列であり、2<=n<=79
入力
入力は複数行を含み、各行に正の整数n,2<=n<=79
しゅつりょく
各入力のnに対して、この式を小さいから大きいまで出力し、式が生成できなければ出力しない.
サンプル入力
62

サンプル出力
79546/01283=62
94736/01528=62
#include
int main()
{
	int n,abcde,fghij;
	int i,j,k,l,m;
	int a,b,c,d,e;
	int f,g,h,ii,jj;
	while(scanf("%05d",&n)!=EOF)
	{
		for(abcde=1234;abcde<98765;abcde++)
		{
			a=abcde/10000;
			b=(abcde-a*10000)/1000;
			c=(abcde-a*10000-b*1000)/100;
			d=(abcde-a*10000-b*1000-c*100)/10;
			e=abcde%10;
		//	printf("%d %d %d %d %d
",a,b,c,d,e); if(a==b||a==c||a==d||a==e||b==c||b==d||b==e||c==d||c==e||d==e) continue; //printf("%d %d %d %d %d
",a,b,c,d,e); else { if(abcde%n==0) { fghij=abcde/n; if(fghij>1000) { // printf("%d %05d
",abcde,fghij); f=fghij/10000; g=(fghij-f*10000)/1000; h=(fghij-f*10000-g*1000)/100; ii=(fghij-f*10000-g*1000-h*100)/10; jj=fghij-f*10000-g*1000-h*100-ii*10; //printf("%d %d %d %d %d
",f,g,h,ii,jj); if(f==a||f==b||f==c||f==d||f==e||f==g||f==h||f==ii||f==jj||g==a||g==b||g==c||g==d||g==e||g==h||g==ii||g==jj||h==a||h==b||h==c||h==d||h==e||h==f||h==ii||h==jj||ii==a||ii==b||ii==c||ii==d||ii==e||ii==jj||jj==a||jj==b||jj==c||jj==d||jj==e) continue; // printf("%d %d
",abcde,fghij); else { if(fghij<10000) printf("%d/%05d=%d
",abcde,fghij,n); else printf("%d/%d=%d
",abcde,fghij,n); } } } } } } }