Es posible que nos encontremos con varios programas complicados en nuestra vida cotidiana. Tal vez en entrevistas técnicas, pruebas de codificación o clases de C/C++.
Aquí hay una lista de tales programas: –
- Imprimir texto entre comillas dobles (” “).
Esto puede parecer fácil, pero los principiantes pueden confundirse al imprimir texto entre comillas dobles.
C++
// CPP program to print double quotes #include<iostream> int main() { std::cout << "\"geeksforgeeks\""; return 0; }
"geeksforgeeks"
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
- Para comprobar si dos números son iguales sin usar operadores aritméticos u operadores de comparación.
La solución más simple para esto es usar el operador Bitwise XOR (^). Sabemos que para dos números iguales el operador XOR devuelve 0. Usaremos el operador XOR para resolver este problema.
C++
// C++ program to check if two numbers are equal // without using arithmetic operators or // comparison operators #include <iostream> using namespace std; int main() { int x = 10; int y = 10; if (!(x ^ y)) cout << " x is equal to y "; else cout << " x is not equal to y "; return 0; } // This code is contributed by shivani
C
// C program to check if two numbers are equal // without using arithmetic operators or // comparison operators #include<stdio.h> int main() { int x = 10; int y = 10; if ( !(x ^ y) ) printf(" x is equal to y "); else printf(" x is not equal to y "); return 0; }
x is equal to y
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
- Imprime todos los números naturales hasta N sin usar punto y coma.
Usamos la idea de llamar recursivamente a la función principal.
C++
// C++ program to print all natural numbers upto // N without using semi-colon #include<iostream> using namespace std; int N = 10; int main() { static int x = 1; if (cout << x << " " && x++ < N && main()) { } return 0; }
1 2 3 4 5 6 7 8 9 10
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
- Para intercambiar los valores de dos variables sin usar ninguna variable adicional.
C++
// C++ program to check if two numbers are equal #include<bits/stdc++.h> using namespace std; int main() { int x = 10; int y = 70; x = x + y; y = x - y; x = x - y; cout << "X : " << x << "\n"; cout << "Y : " << y << "\n"; return 0; }
X : 70 Y : 10
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
- Programa para encontrar el Máximo y mínimo de dos números sin usar ningún ciclo o condición.
El truco más simple es-
C++
// C++ program to find maximum and minimum of // two numbers without using loop and any // condition. #include<bits/stdc++.h> int main () { int a = 15, b = 20; printf("max = %d\n", ((a + b) + abs(a - b)) / 2); printf("min = %d", ((a + b) - abs(a - b)) / 2); return 0; }
max = 20 min = 15
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
- Imprima el valor máximo de un int sin signo usando el operador de complemento a uno (~) en C.
Aquí hay un truco para encontrar el valor máximo de un int sin signo usando el operador de complemento a uno:
C++
// C++ program to print maximum value of // unsigned int. #include <iostream> int main() { unsigned int max; max = 0; max = ~max; std::cout << "Max value : " << max; return 0; } // This code is contributed by sarajadhav12052009
C
// C program to print maximum value of // unsigned int. #include<stdio.h> int main() { unsigned int max; max = 0; max = ~max; printf("Max value : %u ", max); return 0; }
Max value : 4294967295
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
- Para encontrar la suma de dos números enteros sin usar el operador ‘+’.
Este es un truco matemático muy fácil.
Sabemos que a + b = – (-ab). Así que esto funcionará como un truco para nosotros.
C++
// CPP program to print sum of two integers // without + #include<iostream> using namespace std; int main() { int a = 5; int b = 5; int sum = -( -a-b ); cout << sum; return 0; }
10
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
- Programa para verificar la condición dentro del bloque if.
C++
// CPP program to verifies the condition inside if block // It just verifies the condition inside if block, // i.e., cout << "geeks" which returns a non-zero value, // !(non-zero value) is false, hence it executes else // Hence technically it only executes else block #include<iostream> using namespace std; int main() { if (!(cout << "geeks")) cout <<" geeks "; else cout << "forgeeks "; return 0; }
geeksforgeeks
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
- Programa para dividir un número entero por 4 sin usar el operador ‘/’.
Una de las formas más eficientes de dividir un número entero por 4 es usar el operador de desplazamiento a la derecha («>>»).
C++
// CPP program to divide a number by 4 // without using '/' #include<iostream> using namespace std; int main() { int n = 4; n = n >> 2; cout << n; return 0; }
1
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
- Programa para comprobar endianness de la computadora.
C++
// C++ program to find if machine is little // endian or big endian. #include <iostream> int main() { unsigned int n = 1; char *c = (char*)&n; if (*c) std::cout << "LITTLE ENDIAN"; else std::cout << "BIG ENDIAN"; return 0; } // This code is contributed by sarajadhav12052009
C
// C program to find if machine is little // endian or big endian. #include <stdio.h> int main() { unsigned int n = 1; char *c = (char*)&n; if (*c) printf("LITTLE ENDIAN"); else printf("BIG ENDIAN"); return 0; }
LITTLE ENDIAN
Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)
Este artículo es una contribución de Smitha Dinesh Semwal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a contribuir@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA