TU Wien:Mathematik 1 UE (diverse)/Übungen WS06/M302.java.txt

Aus VoWi
Zur Navigation springen Zur Suche springen
import java.lang.Math;
public class m302 {

	static int max=10000;
	static int m=11;	//modulo
	static int a=4;	//	\
	static int b=7;	//	 >==>	ax^2 + bx + c = 0
	static int c=7;	//	/
	
	static boolean in_z(double x){
		return x==Math.round(x); }
		
	public static void main(String arg[]){
		System.out.println("Start:\ta="+a+"\tb="+b+"\tc="+c+"\tmodul="+m);
		
		for(double cc=c; cc<max; cc+=m) {
			for(double bb=b; bb<max; bb+=m) {
				for(double aa=a; aa<max; aa+=m) {
					double xx=(bb*bb-4*aa*cc);	// Diskriminante
					double x1=((-bb+Math.sqrt((double)(bb*bb-4*aa*cc)))/(2*aa));
					double x2=((-bb-Math.sqrt((double)(bb*bb 4*aa*cc)))/(2*aa));					
 					if(!in_z(xx)) continue;
					if(!in_z(x1)) continue;
//					if(x1%m)!=0) continue;
					else {
 						System.out.print("\nMögl. Lösung in Z:\tD = b^2-4ac=\t"+bb*bb+"-4*"+aa+"*"+cc+"\t="+(bb*bb-4*aa*cc));
						System.out.println("\ta="+aa+"("+a+"+"+ (aa-a)/m+"*"+m+")\tb="+bb+"("+b+"+"+(bb-b)/m+"*"+m+")\tc="+cc+"("+c+"+"+(cc-c)/m+"*"+m+")");
						System.out.println("Diskriminante: "+(bb*bb-4*aa*cc));  						
 						System.out.print("x1 = ");
						System.out.print(" (-"+bb+"+"+"sqrt("+bb*bb+"-4*"+aa+"*"+cc+")) / 2*"+aa+") = ");
 						System.out.print(x1+" =");
//						if((x1%m)==0) System.out.print(" OK");
						if(in_z(x1)) System.out.print(" OK");
 							else { System.out.println(" nicht in Z"); continue; }
						while(x1<0) x1+=m;
						System.out.println(" Restklasse "+x1);
						
						System.out.print("x2 = ");
						System.out.print("(-"+bb+"-"+"sqrt("+bb*bb+"-4*"+aa+"*"+cc+")) / 2*"+aa+") = ");
 						System.out.print(x2+" =");
//						if((x2%m)==0) System.out.print(" OK");
						if(in_z(x2)) System.out.print(" OK");
							else { System.out.println(" nicht in Z"); continue; }
						while(x2<0) x2+=m;
						System.out.println(" Restklasse "+x2);
						
						System.exit(0);
						}
	 				}
 				}
			}
		System.exit(-1);
		}
} 

// lg,
// Baccus