原文:
给定一个整数 n,任务是使用从 1 到 n 的所有数字以及二进制运算符 、–、和/,打印所有可能的算术表达式。 例:*
输入: n = 2 输出: 1 2,1-2,1/2,12 输入: n = 3 输出: 1 2 3,1 2-3,1 2/3,1 23,1-2 3,1-2-3,1-2/3,1-2*3 1/2 3,1
进场:
-
我们将创建一个长度为=n n–1的字符数组,因为要使带有 n 个操作数的表达式有效,我们需要 n-1 个运算符。
-
迭代数组,将数字放在偶数位置,而将符号放在奇数位置,并递归调用函数。
-
如果字符数等于数组长度,则打印数组。
以下是上述方法的实现:
卡片打印处理机(card print processor 的缩写)
// 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<
output:
1 2
1-2
1/2
1*2
麻将胡了pg电子网站的版权属于:月萌api www.moonapi.com,转载请注明出处