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++; } }