与えられた合計を形成するために追加できる要素を印刷する
ユーザーが入力したい要素の数を入力し、ユーザーが指定した要素のリストから計算したい合計値を入力します。
Input : N=5 Enter any 5 values : 3 1 6 5 7 Enter sum you want to check : 10 Output : 3 1 6
アルゴリズム
START STEP1-> Take values from the user STEP2-> Take the sum a user want to check in the set. STEP3-> For i = 0; i < n; i++ STEP4-> Check If sum - *(ptr+i) >= 0 then, STEP4.1-> sum -= *(ptr+i); STEP4.2-> Print the value of *(ptr+i) END If END For STOPの値を出力します
例
#include <stdio.h> int main(int argc, char const *argv[]){ int *ptr, n, i, sum; printf("Enter number of digits you want to enter\n"); scanf("%d", &n); ptr = (int*)malloc(sizeof(int)*n); //Dynamically allocating the memory of int type printf("Enter %d elements\n", n); for(i = 0; i < n; i++) { scanf("%d", (ptr+i)); //Inputting the value in dynamically //allocated array } printf("Enter the sum you want to check\n"); scanf("%d", &sum); for ( i = 0; i < n; i++) { if(sum - *(ptr+i) >= 0) { //Checking the values which can be added to form the sum X sum -= *(ptr+i); //Updating the value of sum printf("%d ", *(ptr+i)); //Printing the Values which can be summed up to form sum } } return 0; }
出力
上記のプログラムを実行すると、次の出力が生成されます
Enter number of digits you want to enter 5 Enter 5 elements 3 1 6 5 7 Enter the sum you want to check 10 3 1 6
-
与えられた行列をC++で反時計回りのスパイラル形式で印刷します
この問題では、2次元の行列が与えられます。そして、私たちのタスクは、から反時計回りのスパイラルで行列の要素を印刷することです。 反時計回りのスパイラルフォーム −これは、左上から始まり、反時計回りに最初の右下から左上に向かって進むスパイラルトラバーサルです。 反時計回りのトラバーサルは159 13 14 15 16 12 8 4 3 2 6 10117になります。 問題を理解するために例を見てみましょう Input: 2 4 6 1 7 9 5 0 3 Output: 2 1 5 0 3 9 7 この問
-
ペア要素がPythonの異なるBSTにあるように、指定された合計を持つペアを検索します
2つの二分探索木が与えられ、別の合計が与えられたとします。各ペア要素が異なるBSTに存在する必要があるように、与えられた合計に関してペアを見つける必要があります。 したがって、入力がsum=12のような場合 その場合、出力は[(6、6)、(7、5)、(9、3)]になります。 これを解決するには、次の手順に従います- 関数solve()を定義します。これには、trav1、trav2、Sumが必要です。 左:=0 右:=trav2のサイズ-1 res:=新しいリスト 左=0の間、実行 trav1 [left] + trav2 [right]がSumと