Algorithums größer/kleines gemeinsamer Teile mehrer zahlen?



  • Das was du suchst ist wird Euklidischer Algorithmus genannt.

    Schau mal auf Wikipedia: Euklidischer Algorithmus



  • sowas wie:

    ULONG MyKgv(std::vector<ULONG> &vM){
    
    	ULONG lMaxVielfaches=1,lDivisor=1;
    	std::vector<ULONG>::iterator it = vM.begin();
    
    	//Maximales Vielfaches als Startwert...
    	for(; it< vM.end(); it++)
    		lMaxVielfaches*= *it;
    
    	//Kleinster Vielfaches ermitteln
    	while(1){	
    		it = vM.begin();
    		for(; it< vM.end(); it++){
    			if(lMaxVielfaches%(*it))
    				return lMaxVielfaches*(--lDivisor);
    		}
    		if(lMaxVielfaches%lDivisor)
    			return lMaxVielfaches;
    		lMaxVielfaches/=lDivisor++;
    	}
    }
    

Anmelden zum Antworten