Nuestro primer desafío en HackerRank - Solve me first C++

Publicado el 09 marzo 2015 por Francves


En una anterior entrada hablamos sobre los desafíos de programación de HackerCademy, siguiendo con la idea resolveremos el primer desafió que se nos propone en esta plataforma, y analizaremos el enunciado del desafío y sus entradas y salidas. 
Para acceder al desafío clic en este enlace
"Problem Statement

This is an introductory challenge. The purpose of this challenge is to give you a working I/O template in your preferred language. It includes scanning two integers from STDIN, calling a function, returning a value, and printing it to STDOUT.

The task is to scan two numbers from STDIN, and print the sum A+B on STDOUT. The code has already been provided for most of the popular languages. This is primarily for you to read and inspect how the IO is handled.

Note: The code has been saved in a template, which you can submit if you want. Or, you may try rewriting it and building it up from scratch."


Básicamente nos explica las entradas y salidas del algoritmo que debemos desarrollar, menciona que se leerán por la entrada estándar de datos STDIN (el teclado) dos enteros que serán pasados como parámetros a una función que nos retornará la suma de ambos enteros. 

Cada desafío que queremos realizar contendrá unas entradas y salidas correspondientes, en este caso las entradas son dos números enteros Ay B y la salida, la suma de ambos enteros.

A su vez, contendrán ciertas restricciones a tomar en cuenta, por ejemplo los números enteros A y B serán números que se encuentren en el intervalo [1,1000]. Sí por alguna razón el intervalo superara el valor de 32767 en vez de llegar hasta 1000, entonces deberíamos usar un dato de tipo long (entero largo).
Dato tipo int:
Con signo : -32768 a 32767
Sin signo: 0 a 65535
Dato tipo long:
Con signo: -2147483648 a 2147483647 
Sin signo: 0 a 4294967295 

Ejemplos de entrada y salida: Al tener listo nuestro programa (sí lo estamos realizando en nuestro IDE o editor de texto preferido), si al ejecutarlo e ingresar estos valores de prueba, nos arroja la misma salida entonces nuestro programa está 99,99% correcto. ¿Porqué 99,99% correcto? en muchas ocasiones las entradas y salidas de ejemplo que se nos proporcionan tienden a ser las mas triviales, por lo que siempre es bueno intentar romper nuestro programa con todos los casos de prueba que se nos ocurran, una vez estemos seguros que funciona al 100% hacemos clic en Run Code para ejecutar el código que tenemos en nuestro buffer de HackerCademy

Sí todo funciona correctamente superaremos el caso de prueba. Es importante mencionar que las salidas tienen que ser tal cual se nos indica, sí estas poseen espacios la nuestra también deben tenerlos, sí son resultados con saltos de línea nuestras salidas también deben poseer saltos de línea.

Posterior a esto hacemos clic en Submit Code, se realizarán varios casos de prueba con nuestro algoritmo y sí no se encuentran errores en las salidas se nos indicará que ha sido aceptado!.

 Solución del desafío en C++:
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int solveMeFirst(int a, int b) {
return a+b;
}
int main() {
int num1, num2;
int sum;
cin>>num1>>num2;
sum = solveMeFirst(num1,num2);
cout<<sum;
return 0
}

Como mencionamos anteriormente, leemos dos números enteros, luego pasamos como parámetro ambos números enteros y retornamos su suma. El resultado de esta suma es almacenado en la variable sum y finalmente imprimimos por pantalla el resultado.
También te podría interesar:
  1. Operaciones básicas para vectores de objetos en c++ (Acceso, Inserción, Tamaño y eliminación)
  2. Algoritmo - Factorial de un número en C++
  3. Aprende java desde 0 con JavaYa!
  4. Valor Absoluto de un número en c++
  5. 22 guías y libros gratis para aprender a programar en c++