#include <iostream> 
#include <cmath>    // untuk sin() dan radians conversion 
using  namespace  std; 
 
// Fungsi untuk menghitung jarak horizontal 
double  hitungJarakHorizontal( double  v0, double  theta)  { 
    const  double  g =  9.8 ;  // percepatan gravitasi (m/s^2) 
    double  thetaRad =  theta *  M_PI /  180.0 ;  // konversi ke radian 
    double  jarak =  ( v0 *  v0 *  sin ( 2  *  thetaRad) )  /  g; 
    return  jarak; 
} 
 
int  main( )  { 
    double  v0, theta; 
 
    cout  <<  "=== Program Menghitung Jarak Horizontal Proyektil ==="  <<  endl; 
    cout  <<  "Masukkan kecepatan awal (m/s): " ; 
    cin  >>  v0; 
    cout  <<  "Masukkan sudut elevasi (derajat): " ; 
    cin  >>  theta; 
 
    double  jarak =  hitungJarakHorizontal( v0, theta) ; 
    cout  <<  "\n Jarak horizontal = "  <<  jarak <<  " meter"  <<  endl; 
 
    // Menghitung jarak maksimum (pada sudut 45 derajat) 
    double  jarakMaks =  hitungJarakHorizontal( v0, 45 ) ; 
    cout  <<  "Jarak maksimum (pada sudut 45°) = "  <<  jarakMaks <<  " meter"  <<  endl; 
 
    return  0 ; 
} 
 
 
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+ICAgIC8vIHVudHVrIHNpbigpIGRhbiByYWRpYW5zIGNvbnZlcnNpb24KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIEZ1bmdzaSB1bnR1ayBtZW5naGl0dW5nIGphcmFrIGhvcml6b250YWwKZG91YmxlIGhpdHVuZ0phcmFrSG9yaXpvbnRhbChkb3VibGUgdjAsIGRvdWJsZSB0aGV0YSkgewogICAgY29uc3QgZG91YmxlIGcgPSA5Ljg7IC8vIHBlcmNlcGF0YW4gZ3Jhdml0YXNpIChtL3NeMikKICAgIGRvdWJsZSB0aGV0YVJhZCA9IHRoZXRhICogTV9QSSAvIDE4MC4wOyAvLyBrb252ZXJzaSBrZSByYWRpYW4KICAgIGRvdWJsZSBqYXJhayA9ICh2MCAqIHYwICogc2luKDIgKiB0aGV0YVJhZCkpIC8gZzsKICAgIHJldHVybiBqYXJhazsKfQoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgdjAsIHRoZXRhOwoKICAgIGNvdXQgPDwgIj09PSBQcm9ncmFtIE1lbmdoaXR1bmcgSmFyYWsgSG9yaXpvbnRhbCBQcm95ZWt0aWwgPT09IiA8PCBlbmRsOwogICAgY291dCA8PCAiTWFzdWtrYW4ga2VjZXBhdGFuIGF3YWwgKG0vcyk6ICI7CiAgICBjaW4gPj4gdjA7CiAgICBjb3V0IDw8ICJNYXN1a2thbiBzdWR1dCBlbGV2YXNpIChkZXJhamF0KTogIjsKICAgIGNpbiA+PiB0aGV0YTsKCiAgICBkb3VibGUgamFyYWsgPSBoaXR1bmdKYXJha0hvcml6b250YWwodjAsIHRoZXRhKTsKICAgIGNvdXQgPDwgIlxuSmFyYWsgaG9yaXpvbnRhbCA9ICIgPDwgamFyYWsgPDwgIiBtZXRlciIgPDwgZW5kbDsKCiAgICAvLyBNZW5naGl0dW5nIGphcmFrIG1ha3NpbXVtIChwYWRhIHN1ZHV0IDQ1IGRlcmFqYXQpCiAgICBkb3VibGUgamFyYWtNYWtzID0gaGl0dW5nSmFyYWtIb3Jpem9udGFsKHYwLCA0NSk7CiAgICBjb3V0IDw8ICJKYXJhayBtYWtzaW11bSAocGFkYSBzdWR1dCA0NcKwKSA9ICIgPDwgamFyYWtNYWtzIDw8ICIgbWV0ZXIiIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0K