私の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に対して、この式を小さいから大きいまで出力し、式が生成できなければ出力しない.
サンプル入力
サンプル出力
時間制限: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);
}
}
}
}
}
}
}