Heyecan verici insan keşiflerinden biri de, kütle ve enerjinin değiştirilebilir ve E = M × C 2 denklemi ile ilişkili olmasıdır. Bu ilişki neredeyse 100 yıl önce Albert Einstein tarafından ortaya çıkarıldı ve artık güneşin az miktarda kütleyi büyük miktarlarda enerjiye dönüştürerek ısısını ürettiğini biliyoruz.

Kullanıcıdan düzenli olarak kütleyi alan ve ortaya çıkan enerji miktarını yazdıran bir program yazın. Çalışmanızı aşağıdaki şekilde gösterin:

Enter kilos of mass: 27
E = m * C^2 ...
m = 27.0 kg
C = 299792458m/s
2.4266389825894077e+18 joules of energy!

Enter kilos of mass: 15
E = m * C^2 ...
m = 15.0 kg
C = 299792458m/s
1.3481327681052265e+18 joules of energy!

Enter kilos of mass: 2
E = m * C^2 ...
m = 2.0 kg
C = 299792458m/s
1.7975103574736352e+17 joules of energy!

Enter kilos of mass: 0.00000001
E = m * C^2 ...
m = 1e-08 kg
C = 299792458m/s
898755178.7368177 joules of energy!

Eğer kullanıcıdan kilogram girmesini ister ve ışık hızını 299792458 (metre/saniye) olarak alırsanız, E = M × C 2 denkleminin sonucunu Jul cinsinden bulursunuz.

3.0E8, 3.0 × 10 8 ' in - 300,000,000 - bilimsel gösterimidir. Java'nın double'ları bilimsel gösterimle yazdırması için herhangi bir şey yapmanıza gerek yoktur. Sayılar yeterince büyüdüğünde bunu otomatik olarak yapar.

Işık hızı asla değişmeyeceğinden, onu sabit olarak belirlemek mantıklıdır.

Çözüm

"""
File: emc2.py
-------------------
This program helps users calculate how much energy they could
get if they transformed their mass. Thanks Einstein!
"""

# This declares a constant for the speed of light in meters per second.
C = 299792458


def main():
    # Loop forever
    while True:
        # Read the mass in from the user.
        mass_in_kg = float(input("Enter kilos of mass: "))

        # Calculate energy
        energy_in_joules = mass_in_kg * C * C

        # Display work to the user
        print("E = m * C^2 ...")
        print("m = " + str(mass_in_kg) + " kg")
        print("C = " + str(C) + "m/s")
        print(str(energy_in_joules) + " joules of energy!")
        print()


if __name__ == '__main__':
    main()