#include /*-------------------------------------------------------*/ /* 出力情報 */ int A, B; /* 1段目と2段目の数 */ int cnt; /* 解の個数 */ /* 10進数nのm桁目の数を返すサブルーチン */ int sub(int n, int m) { int i; /* nをm-1回,10で割る */ for (i=1; i=100 && c<=999 && d>=100 && d<=999 && e>=1000 && e<=9999) { /* dの2桁目が4で,eの3桁目が3か? */ if (sub(d,2)==4 && sub(e,3)==3) { A = a; B = b; /* 解の記録 */ cnt++; /* 解の個数 */ } } } } } /*-------------------------------------------------------*/ void main(void) { puzzle(); printf (" %d\n", A); printf (" X%d\n", B); printf (" ---\n"); printf (" %d\n", A*(B % 10)); printf ("%d\n", A*(B / 10)); printf ("----\n"); printf ("%d\n", A*B); printf ("\ncnt = %d", cnt); }