四则运算3

 

未完成 已写代码如下:

  1 package Test;
  2 
  3 import java.sql.Connection;
  4 import java.sql.DriverManager;
  5 import java.util.Scanner;
  6 public class ti3 {
  7 
  8 
  9     static int re;
 10    
 11     static String re1;
 12    
 13     static String refenshu;
 14    
 15     static int resan;
 16     
 17    
 18     static double getGcd(double m,double n){
 19             while(n > 0){
 20                 double temp = m % n;
 21                 m = n;
 22                 n = temp;
 23             }
 24             return m;
 25         }
 26    
 27     
 28   
 29     static double getLcm(double m,double n){
 30          double gcd = getGcd(m,n);
 31          double result = m*n / gcd;
 32             return result;
 33         }
 34    
 35     
 36    
 37     static int num()
 38     {
 39         int num;
 40         Scanner in =  new Scanner(System.in);
 41         System.out.print("请输入题目的数量:");
 42         num = in.nextInt();
 43         return num;
 44     }
 45   
 46     
 47   
 48     static String sgongshi(int r,int q)
 49     {
 50         String shi,shizi="";
 51         int a=(int)(Math.random()*(r)%(r-q+1)+q);
 52         int e=(int)(Math.random()*4);
 53         shi=function(r,q,12);
 54         if(e==0)
 55         {
 56             int f=(int)(Math.random()*4);
 57             if(f==1||f==0)
 58             {
 59                 shizi=a+" + "+"( "+shi+" )";
 60                 resan=a+re;
 61             }
 62             if(f==2||f==3)
 63             {
 64                 shizi="( "+shi+" )"+" + "+a;
 65                 resan=a+re;
 66             }
 67         }
 68         if(e==1)
 69         {
 70             int f=(int)(Math.random()*4);
 71             if(f==1||f==0)
 72             {
 73                 while(a-re<0)
 74                 {
 75                     shi=function(r,q,12);
 76                 }
 77                 shizi=a+" - "+"( "+shi+" )";
 78                 resan=a-re;
 79             }
 80             if(f==2||f==3)
 81             {
 82                 while(a-re>0)
 83                 {
 84                     shi=function(r,q,12);
 85                 }
 86                 shizi="( "+shi+" )"+" - "+a;
 87                 resan=re-a;
 88             }
 89         }
 90         if(e==2)
 91         {
 92             int f=(int)(Math.random()*4);
 93             if(f==1||f==0)
 94             {
 95                 shizi=a+" × "+"( "+shi+" )";
 96                 resan=a*re;
 97             }
 98             if(f==2||f==3)
 99             {
100                 shizi="( "+shi+" )"+" × "+a;
101                 resan=a*re;
102             }
103         }
104         if(e==3)
105         {
106             int f=(int)(Math.random()*4);
107             if(f==1||f==0)
108             {
109                 while(re==0)
110                 {
111                     shi=function(r,q,12);    
112                 }
113                 while(a%re!=0)
114                 {
115                     shi=function(r,q,12);
116                     while(re==0)
117                     {
118                         shi=function(r,q,12);
119                     }
120                 }
121                 shizi=a+" ÷ "+"( "+shi+" )";
122                 resan=a/re;
123             }
124             if(f==2||f==3)
125             {
126                 while(a==0)
127                 {
128                     a=(int)(Math.random()*(r)%(r-q+1)+q);
129                 }
130                 while(re%a!=0)
131                 {
132                     shi=function(r,q,12);
133                 }
134                 shizi="( "+shi+" )"+" ÷ "+a;
135                 resan=re/a;
136             }
137         }
138         return shizi;
139     }
140  
141     
142  
143     static String fun(int r ,int fun)
144     {
145        
146         String fu ="";
147         String shizi="";
148         int a=(int)(Math.random()*(r+1));
149         int b=(int)(Math.random()*(r+1));
150         int c=(int)(Math.random()*(r+1));
151         int d=(int)(Math.random()*(r+1));
152         int e=(int)(Math.random()*4);
153         
154     
155         if(fun==1)
156         {
157         if(e==0)
158         {
159             fu="+";
160             while(a>=b||c>=d||b==0||d==0)
161             {
162                  a=(int)(Math.random()*(r+1));
163                  b=(int)(Math.random()*(r+1));
164                  c=(int)(Math.random()*(r+1));
165                  d=(int)(Math.random()*(r+1));
166             }
167         
168             int aa=(int) getGcd(a,b);
169             int cc=(int) getGcd(c,d);
170             a=a/aa; b=b/aa;
171             c=c/cc; d=d/cc;
172             shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
173             int gongbei=(int) getLcm(b,d);
174             a=a*(gongbei/b);
175             c=c*(gongbei/d);
176             a=a+c;
177             int t=(int) getGcd(a,gongbei);
178             a=a/t;
179             gongbei=gongbei/t;
180             if(a==gongbei)
181                 refenshu="1";
182             else if(a==0)
183                 refenshu="0";
184             else if(a>gongbei)
185             {
186                 int s=a%gongbei;
187                 refenshu=1+"’"+s+"/"+gongbei;
188             }
189             else
190             refenshu=a+"/"+gongbei;
191             
192         }
193         if(e==1)
194         {
195             fu="-";
196             double y=getLcm(b,d);
197             double a1=y/b;
198             double c1=y/d;
199             double a2=a*a1;
200             double c2=c*c1;
201             while(a>=b||c>=d||b==0||d==0||a2<c2)
202             {
203                  a=(int)(Math.random()*(r+1));
204                  b=(int)(Math.random()*(r+1));
205                  c=(int)(Math.random()*(r+1));
206                  d=(int)(Math.random()*(r+1));
207                   y=getLcm(b,d);
208                      a1=y/b;
209                      c1=y/d;
210                      a2=a*a1;
211                      c2=c*c1;
212             }
213             int aa=(int) getGcd(a,b);
214             int cc=(int) getGcd(c,d);
215             a=a/aa; b=b/aa;
216             c=c/cc; d=d/cc;
217             shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
218             int gongbei=(int) getLcm(b,d);
219             a=a*(gongbei/b);
220             c=c*(gongbei/d);
221             a=a-c;
222             int t=(int) getGcd(a,gongbei);
223             a=a/t;
224             gongbei=gongbei/t;
225             if(a==gongbei)
226                 refenshu="1";
227             else if(a==0)
228                 refenshu="0";
229             else
230             refenshu=a+"/"+gongbei;
231         }
232         if(e==2)
233         {
234             fu="×";
235             while(a>=b||c>=d||b==0||d==0)
236             {
237                  a=(int)(Math.random()*(r+1));
238                  b=(int)(Math.random()*(r+1));
239                  c=(int)(Math.random()*(r+1));
240                  d=(int)(Math.random()*(r+1));
241             }
242             int aa=(int) getGcd(a,b);
243             int cc=(int) getGcd(c,d);
244             a=a/aa; b=b/aa;
245             c=c/cc; d=d/cc;
246             shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
247             a=a*c;
248             b=b*d;
249             int flag1=(int) getGcd(a,b);
250             a=a/flag1;b=b/flag1;
251             if(a==0)
252                 refenshu="0";
253             else
254                 refenshu=a+"/"+b;
255         }
256         if(e==3)
257         {
258             fu="÷";
259             while(a>=b||c>=d||b==0||d==0||c==0)
260             {
261                  a=(int)(Math.random()*(r+1));
262                  b=(int)(Math.random()*(r+1));
263                  c=(int)(Math.random()*(r+1));
264                  d=(int)(Math.random()*(r+1));
265             }
266             int aa=(int) getGcd(a,b);
267             int cc=(int) getGcd(c,d);
268             a=a/aa; b=b/aa;
269             c=c/cc; d=d/cc;
270             shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
271             a=a*d;
272             b=b*c;
273             int flag1=(int) getGcd(a,b);
274             a=a/flag1;b=b/flag1;
275             if(a==0)
276                 refenshu="0";
277             else if(a==b)
278                 refenshu="1";
279             else if(b==1)
280                 refenshu=a+"";
281             else if(a>b)
282             {
283                 int s=a%b;
284                 int s1=a/b;
285                 refenshu=s1+"’"+s+"/"+b;
286             }
287             else
288                 refenshu=a+"/"+b;
289         }
290         }
291         
292  
293         if(fun==2)
294         {
295         if(e==0)
296         {
297             fu="+";
298             while(a>=b||c>=d||b==0||d==0)
299             {
300                  a=(int)(Math.random()*(r+1));
301                  b=(int)(Math.random()*(r+1));
302                  c=(int)(Math.random()*(r+1));
303                  d=(int)(Math.random()*(r+1));
304             }
305             int aa=(int) getGcd(a,b);
306             int cc=(int) getGcd(c,d);
307             a=a/aa; b=b/aa;
308             c=c/cc; d=d/cc;
309             shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
310             int gongbei=(int) getLcm(b,d);
311             a=a*(gongbei/b);
312             c=c*(gongbei/d);
313             a=a+c;
314             int t=(int) getGcd(a,gongbei);
315             a=a/t;
316             gongbei=gongbei/t;
317             if(a==gongbei)
318                 refenshu="1";
319             else if(a==0)
320                 refenshu="0";
321             else if(a>gongbei)
322             {
323                 int s=a%gongbei;
324                 refenshu=1+"’"+s+"/"+gongbei;
325             }
326             else
327             refenshu=a+"/"+gongbei;
328         }
329         if(e==1)
330         {
331             fu="-";
332             double y=getLcm(b,d);
333             double a1=y/b;
334             double c1=y/d;
335             double a2=a*a1;
336             double c2=c*c1;
337             while(a>=b||c>=d||b==0||d==0||a2<c2)
338             {
339                  a=(int)(Math.random()*(r+1));
340                  b=(int)(Math.random()*(r+1));
341                  c=(int)(Math.random()*(r+1));
342                  d=(int)(Math.random()*(r+1));
343                   y=getLcm(b,d);
344                      a1=y/b;
345                      c1=y/d;
346                      a2=a*a1;
347                      c2=c*c1;
348             }
349             int aa=(int) getGcd(a,b);
350             int cc=(int) getGcd(c,d);
351             a=a/aa; b=b/aa;
352             c=c/cc; d=d/cc;
353             shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
354             int gongbei=(int) getLcm(b,d);
355             a=a*(gongbei/b);
356             c=c*(gongbei/d);
357             a=a-c;
358             int t=(int) getGcd(a,gongbei);
359             a=a/t;
360             gongbei=gongbei/t;
361             if(a==gongbei)
362                 refenshu="1";
363             else if(a==0)
364                 refenshu="0";
365             else
366             refenshu=a+"/"+gongbei;
367         }
368         if(e==2)
369         {
370             fu="+";
371             while(a>=b||c>=d||b==0||d==0)
372             {
373                  a=(int)(Math.random()*(r+1));
374                  b=(int)(Math.random()*(r+1));
375                  c=(int)(Math.random()*(r+1));
376                  d=(int)(Math.random()*(r+1));
377             }
378             int aa=(int) getGcd(a,b);
379             int cc=(int) getGcd(c,d);
380             a=a/aa; b=b/aa;
381             c=c/cc; d=d/cc;
382             shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
383             int gongbei=(int) getLcm(b,d);
384             a=a*(gongbei/b);
385             c=c*(gongbei/d);
386             a=a+c;
387             int t=(int) getGcd(a,gongbei);
388             a=a/t;
389             gongbei=gongbei/t;
390             if(a==gongbei)
391                 refenshu="1";
392             else if(a==0)
393                 refenshu="0";
394             else if(a>gongbei)
395             {
396                 int s=a%gongbei;
397                 refenshu=1+"’"+s+"/"+gongbei;
398             }
399             else
400             refenshu=a+"/"+gongbei;
401         }
402         if(e==3)
403         {
404             fu="-";
405             double y=getLcm(b,d);
406             double a1=y/b;
407             double c1=y/d;
408             double a2=a*a1;
409             double c2=c*c1;
410             while(a>=b||c>=d||b==0||d==0||a2<c2)
411             {
412                  a=(int)(Math.random()*(r+1));
413                  b=(int)(Math.random()*(r+1));
414                  c=(int)(Math.random()*(r+1));
415                  d=(int)(Math.random()*(r+1));
416                   y=getLcm(b,d);
417                      a1=y/b;
418                      c1=y/d;
419                      a2=a*a1;
420                      c2=c*c1;
421             }
422             int aa=(int) getGcd(a,b);
423             int cc=(int) getGcd(c,d);
424             a=a/aa; b=b/aa;
425             c=c/cc; d=d/cc;
426             shizi=a+"/"+b+" "+fu+" "+c+"/"+d;
427             int gongbei=(int) getLcm(b,d);
428             a=a*(gongbei/b);
429             c=c*(gongbei/d);
430             a=a-c;
431             int t=(int) getGcd(a,gongbei);
432             a=a/t;
433             gongbei=gongbei/t;
434             if(a==gongbei)
435                 refenshu="1";
436             else if(a==0)
437                 refenshu="0";
438             else
439             refenshu=a+"/"+gongbei;
440         }
441         }
442         return shizi;
443     }
.
.
.

 

posted on 2017-03-19 21:36  王文达  阅读(152)  评论(0编辑  收藏  举报