Dados tres enteros N, A y B. Una persona está parada en la coordenada 0-ésima y mueve A pasos a la derecha en el primer paso, B pasos a la izquierda en el segundo paso, y así sucesivamente. La tarea es averiguar en qué coordenada estará después de N pasos.
Ejemplos:
Entrada: N = 3, A = 5 y B = 2
Salida: 8
5 a la derecha, 2 a la izquierda y 5 a la derecha, por lo tanto la persona terminará en 8.
Entrada: N = 5, A = 1 y B = 10
Salida: -17
Enfoque: dado que la persona da el número impar de pasos a la derecha y el número par de pasos a la izquierda, tenemos que encontrar la diferencia numérica en pasos en cualquier dirección. Por lo tanto, la fórmula obtenida será así:
[((n+1)/2)*a - (n/2)*b]
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program to find the last coordinate // where it ends his journey #include <bits/stdc++.h> using namespace std; // Function to return the last destination int lastCoordinate(int n, int a, int b) { return ((n + 1) / 2) * a - (n / 2) * b; } // Driver Code int main() { int n = 3, a = 5, b = 2; cout << lastCoordinate(n, a, b); return 0; }
Java
// Java program to find the last coordinate // where it ends his journey import java.util.*; class solution { // Function to return the last destination static int lastCoordinate(int n, int a, int b) { return ((n + 1) / 2) * a - (n / 2) * b; } // Driver Code public static void main(String args[]) { int n = 3, a = 5, b = 2; System.out.println(lastCoordinate(n, a, b)); } }
Python
# Python3 program to find the # last coordinate where it # ends his journey # Function to return the # last destination def lastCoordinate(n, a, b): return (((n + 1) // 2) * a - (n // 2) * b) # Driver Code n = 3 a = 5 b = 2 print(lastCoordinate(n, a, b)) # This code is contributed # by Sanjit_Prasad
C#
// C# program to find the last coordinate // where it ends his journey using System; class GFG { // Function to return the last destination public static int lastCoordinate(int n, int a, int b) { return ((n + 1) / 2) * a - (n / 2) * b; } // Driver Code public static void Main(string[] args) { int n = 3, a = 5, b = 2; Console.WriteLine(lastCoordinate(n, a, b)); } } // This code is contributed by Shrikant13
PHP
<?php // PHP program to find the last coordinate // where it ends his journey // Function to return the last destination function lastCoordinate($n, $a, $b) { return (($n + 1) / 2) * $a - (int)($n / 2) * $b; } // Driver Code $n = 3; $a = 5; $b = 2; echo lastCoordinate($n, $a, $b); // This code is contributed by inder_verma.. ?>
Javascript
<script> // Javascript program to find // the last coordinate // where it ends his journey // Function to return the last destination function lastCoordinate(n, a, b) { return (parseInt(n + 1) / 2) * a - parseInt(n / 2) * b; } // Driver Code let n = 3, a = 5, b = 2; document.write(lastCoordinate(n, a, b)); </script>
8
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por swetankmodi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA