Temps necessari per trobar-se en triangle equilàter
Donada la longitud dels costats del triangle equilàter (s) i les velocitats (v) de cada animal marcat als vèrtexs del triangle, esbrineu el temps després del qual es troben si comencen a moure's cap al seu oposat dret formant una trajectòria.
Exemples:
Entrada: s = 2 v = 5
Sortida: 0,266667Entrada: s = 11 v = 556
Sortida: 0,013189
Enfocament:
Per trobar la quantitat total de temps que triguen els animals a trobar-se, només cal que prengueu A dividit per la velocitat inicial amb què dos vèrtexs s'apropen. Trieu dos vèrtexs qualsevol i es pot veure que el primer punt es mou en la direcció del segon a la velocitat v mentre que el segon es mou en la direcció del primer (només cal agafar la component al llarg d'una de les arestes del triangle).
Referència: StackExchange
A continuació es mostra la implementació de l'enfocament anterior:
C++ // CPP code to find time // taken by animals to meet #include using namespace std ; // function to calculate time to meet void timeToMeet ( double s double v ){ double V = 3 * v / 2 ; double time = s / V ; cout < < time ; } // Driver Code int main ( void ) { double s = 25 v = 56 ; timeToMeet ( s v ); return 0 ; }
Java // Java code to find time taken by animals // to meet import java.io.* ; public class GFG { // function to calculate time to meet static void timeToMeet ( double s double v ){ double V = 3 * v / 2 ; double time = s / V ; System . out . println (( float ) time ); } // Driver Code static public void main ( String [] args ) { double s = 25 v = 56 ; timeToMeet ( s v ); } } //This code is contributed by vt_m.
Python3 # Python3 code to find time # taken by animals to meet # function to calculate # time to meet def timeToMeet ( s v ): V = 3 * v / 2 ; time = s / V ; print ( time ); # Driver Code s = 25 ; v = 56 ; timeToMeet ( s v ); # This code is contributed by mits
C# // C# code to find time // taken by animals to meet using System ; public class GFG { // function to calculate time to meet static void timeToMeet ( double s double v ){ double V = 3 * v / 2 ; double time = s / V ; Console . WriteLine (( float ) time ); } // Driver Code static public void Main () { double s = 25 v = 56 ; timeToMeet ( s v ); } } // This code is contributed by vt_m.
PHP // PHP code to find time // taken by animals to meet // function to calculate // time to meet function timeToMeet ( $s $v ) { $V = 3 * $v / 2 ; $time = $s / $V ; echo $time ; } // Driver Code $s = 25 ; $v = 56 ; timeToMeet ( $s $v ); // This code is contributed by anuj_67. ?>
JavaScript < script > // JavaScript code to find time taken by animals // to meet // function to calculate time to meet function timeToMeet ( s v ) { var V = 3 * v / 2 ; var time = s / V ; document . write ( time . toFixed ( 6 )); } // Driver Code var s = 25 v = 56 ; timeToMeet ( s v ); // This code is contributed by todaysgaurav < /script>
Sortida
0.297619
Complexitat temporal: O(1)
Espai auxiliar: O(1)