From eitoku@po.teleway.ne.jp Tue Jun 8 02:06:09 1999 Received: from wise13.mn.waseda.ac.jp (wise13.mn.waseda.ac.jp [133.9.4.145]) by newton.kashi.info.waseda.ac.jp (8.8.8/3.7W) with ESMTP id CAA05322 for ; Tue, 8 Jun 1999 02:06:07 +0900 (JST) Received: from wise20.mn.waseda.ac.jp (wise20.mn.waseda.ac.jp [133.9.4.141]) by wise13.mn.waseda.ac.jp (8.9.1a/3.7W-19980811) with ESMTP id BAA17608 for ; Tue, 8 Jun 1999 01:55:16 +0900 (JST) Received: from wise19.mn.waseda.ac.jp (wise19.mn.waseda.ac.jp [133.9.4.137]) by wise20.mn.waseda.ac.jp (8.9.1+3.0W/3.7W-19981111) with ESMTP id BAA28275 for ; Tue, 8 Jun 1999 01:55:15 +0900 (JST) Received: from smtp.teleway.ne.jp (smtp.teleway.ne.jp [203.140.129.13]) by wise19.mn.waseda.ac.jp (8.9.1a/3.7W-19980811) with ESMTP id BAA11353 for ; Tue, 8 Jun 1999 01:55:15 +0900 (JST) Received: from post1a.po.teleway.ne.jp (post1a.teleway.ne.jp [203.140.129.22]) by smtp.teleway.ne.jp (8.9.3+3.2W/3.7W) with ESMTP id BAA09831 for ; Tue, 8 Jun 1999 01:54:45 +0900 (JST) (envelope-from eitoku@po.teleway.ne.jp) Received: from eiji ([210.234.13.209]) by post1a.po.teleway.ne.jp (Post.Office MTA v3.0 release "turbo_2" ID# 110-55583U50000L50000S0V35) with SMTP id AAA24057 for ; Tue, 8 Jun 1999 01:54:44 +0900 Message-ID: <001b01beb0e5$34d49920$0200a8c0@eiji> From: "Eiji Tokunaga" To: Subject: =?iso-2022-jp?B?GyRCMl1Cai0iGyhC?= Date: Mon, 7 Jun 1999 21:56:48 +0900 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Status: OR /*g97p0660$B$NFA1J$G$9!#(B $BAw$l$^$7$?$,!"2]Bj-"$rAw?.$7$^$9!#(B*/ #include #include #include #include #define MAX 14 struct kouzou{ double suji; char siki[MAX]; /*$B<0$r(BCHAR$B7?$NJ8;zNs$GI=$9(B*/ }; /*$B?t;z$H<0$r4^$`9=B$BN(B*/ void keisan(struct kouzou *bangou, int n) /*kouzou$B7?$NG[Ns$H@0?t!J@ZId$NHV(B $B9f!K$r0z?t$H$9$k(B*/ { int i, j, k, l; struct kouzou *enzan; /*$B/$J$/(Bkouzou$B7?$N%a%b%j$r$H$k(B*/ for(i=0;i 1e-5) { /*$B#0$@$H3d$l$J$$(B*/ enzan[l].suji = bangou[i].suji / bangou[j].suji; sprintf(enzan[l].siki, "(%s/%s)", bangou[i].siki, bangou[j].siki); keisan(enzan, n-1); } if (fabs(bangou[i].suji) > 1e-5) { enzan[l].suji = bangou[j].suji / bangou[i].suji; sprintf(enzan[l].siki, "(%s/%s)", bangou[j].siki, bangou[i].siki); keisan(enzan, n-1); } } } free(enzan); } void main(int argc, char **argv) { struct kouzou bangou[4]; int i; if ((argc != 2) || (strlen(argv[1]) != 4)) { /*$B0z?t$,(B4$B7e$N@0?t$G$J$1$l$P(B $B%(%i!<(B*/ printf("usage: %s (4$B7e$N@0?t$rF~NO$7$F$/$@$5$$(B)\n", argv[0]); exit(1); } for (i=0; i<4; i++) { /*main$B4X?t$GF~NO$5$l$?J8;zNs$r(Bdouble$B7?$KD>$7$F!"(B bangou[4]$B$K3JG<(B*/ bangou[i].suji = (double)(argv[1][i] - '0'); bangou[i].siki[0] = argv[1][i]; bangou[i].siki[1] = 0; } keisan(bangou, 4); }