Hay dos termómetros y dados cinco números enteros F1 , B1 , F2 , B2 y T , donde F1 y B1 son los puntos de congelación y el punto de ebullición del agua en el termómetro 1 , y F2 y B2 son los puntos de congelación y el punto de ebullición del agua en el termómetro 1 . termómetro 2 respectivamente, y T es alguna temperatura registrada en el termómetro 1 . La tarea es encontrar la temperatura en el termómetro 2 .
Ejemplo:
Entrada: F1 = 0, B1 = 10, F2 = 100, B2 = 200, T = 4
Salida: 140,00Entrada: F1 = 0, B1 = 100, F2 = 32, B2 = 212, T = 37
Salida: 98,60
Enfoque: Considere que el primer termómetro usa el sistema de unidades U1 y el segundo termómetro usa el sistema de unidades U2 .
- La idea es obtener la diferencia entre el punto de ebullición y congelación del agua en cada termómetro.
- El número de unidades entre los puntos de congelación y ebullición de ambos termómetros muestra la misma diferencia de temperatura.
Entonces, (B1 – F1) U1 == (B2 – F2) U2
Por método unitario, U1 = ( B2 – F2 ) / ( B1 – F1 ) U2
El valor relativo de U2 es T – F1 y U1 es T – F2
Por lo tanto, T = F2 + ( ( B2 – F2 ) / ( B1 – F1 ) ) * ( T – F1 )
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for above approach #include <iostream> using namespace std; // Function to return temperature // in the second thermometer double temp_convert(int F1, int B1, int F2, int B2, int T) { float t2; // Calculate the temperature t2 = F2 + (float)(B2 - F2) / (B1 - F1) * (T - F1); return t2; } // Driver Code int main() { int F1 = 0, B1 = 100; int F2 = 32, B2 = 212; int T = 37; float t2; cout << temp_convert(F1, B1, F2, B2, T); return 0; } // This code is contributed by kirti
C
// C program for above approach #include <stdio.h> // Function to return temperature // in the second thermometer double temp_convert(int F1, int B1, int F2, int B2, int T) { float t2; // Calculate the temperature t2 = F2 + (float)(B2 - F2) / (B1 - F1) * (T - F1); return t2; } // Driver Code int main() { int F1 = 0, B1 = 100; int F2 = 32, B2 = 212; int T = 37; float t2; printf("%.2f", temp_convert(F1, B1, F2, B2, T)); return 0; }
Java
// Java program for above approach import java.io.*; class GFG{ // Function to return temperature // in the second thermometer static double temp_convert(int F1, int B1, int F2, int B2, int T) { float t2; // Calculate the temperature t2 = F2 + (float)(B2 - F2) / (B1 - F1) * (T - F1); return t2; } // Driver Code public static void main(String[] args) { int F1 = 0, B1 = 100; int F2 = 32, B2 = 212; int T = 37; float t2; System.out.printf("%.2f", temp_convert(F1, B1, F2, B2, T)); } } // This code is contributed by rishavmahato348
Python3
# Python3 program for above approach # Function to return temperature # in the second thermometer def temp_convert(F1, B1, F2, B2, T): # Calculate the temperature t2 = F2 + ((float)(B2 - F2) / (B1 - F1) * (T - F1)) return t2 # Driver Code F1 = 0 B1 = 100 F2 = 32 B2 = 212 T = 37 print(temp_convert(F1, B1, F2, B2, T)) # This code is contributed by Ankita Saini
C#
// C# program for above approach using System; class GFG{ // Function to return temperature // in the second thermometer static double temp_convert(int F1, int B1, int F2, int B2, int T) { float t2; // Calculate the temperature t2 = F2 + (float)(B2 - F2) / (B1 - F1) * (T - F1); return t2; } // Driver Code public static void Main() { int F1 = 0, B1 = 100; int F2 = 32, B2 = 212; int T = 37; //float t2; Console.Write(String.Format("{0:0.##}", temp_convert(F1, B1, F2, B2, T))); } } // This code is contributed by subhammahato348
Javascript
<script> // JavaScript program for above approach // Function to return temperature // in the second thermometer function temp_convert(F1, B1, F2, B2, T) { var t2; // Calculate the temperature t2 = F2 + (B2 - F2) / (B1 - F1) * (T - F1); return t2; } // Driver Code var F1 = 0, B1 = 100; var F2 = 32, B2 = 212; var T = 37; var t2; document.write(temp_convert( F1, B1, F2, B2, T).toFixed(2)); // This code is contributed by Khushboogoyal499 </script>
98.60
Complejidad de tiempo: O(1), ya que no hay bucle y se realiza aritmética básica.
Espacio Auxiliar: O(1), ya que no se ha ocupado ningún espacio extra.
Publicación traducida automáticamente
Artículo escrito por pardeepverma17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA