给定一个整数 N,任务是使用从 1 到 N 的所有数字并使用二元运算符+、–、* 和 / 打印所有可能的算术表达式。
例子:
Input: n = 2
Output:
1+2, 1-2, 1/2, 1*2
Input: n = 3
Output:
1+2+3, 1+2-3, 1+2/3, 1+2*3, 1-2+3, 1-2-3, 1-2/3, 1-2*3
1/2+3, 1/2-3, 1/2/3, 1/2*3, 1*2+3, 1*2-3, 1*2/3, 1*2*3
方法:
- 我们将创建一个长度为 = n + n – 1的字符数组,因为要使具有n 个操作数的表达式有效,我们将需要n-1 个运算符。
- 迭代数组并将数字放在偶数位置,而符号放在奇数位置并递归调用该函数。
- 如果字符数等于数组的长度,则打印数组。
下面是上述方法的实现:
// C++ program to print all the
// expressions for the input value
#include
#include
using namespace std;
// Function to print all the
// expressions using the number
void PrintRecursive(char *str,int arr[],
int i, int n,char *res,
int j, int len,int ln)
{
// Termination condition
if(j==len)
{
res[j]='\0';
cout<
输出:
1+2
1-2
1/2
1*2
如果您想与行业专家一起参加直播课程,请参阅Geeks Classes Live