找到 34423 篇文章 关于编程

在 C++ 中查找任意两个元素之间的最小差值

Arnab Chakraborty
更新于 2019年12月19日 10:12:02

615 次浏览

假设我们有一个包含 n 个元素的数组 A。我们必须找到该数组中任意两个元素之间的最小差值。假设 A = [30, 5, 20, 9],则结果将为 4。这是元素 5 和 9 的最小距离。要解决此问题,我们必须遵循以下步骤:对数组进行非递减排序将差值初始化为无穷大比较排序后的数组中的所有相邻对,并跟踪最小值示例#include <algorithm>#include <climits> using namespace std; int getMinimumDifference(int a[], int n) {    sort(a, a+n);    int min_diff = INT_MAX;    for (int i=0; i<

使用 1 到 n 的数字模式在 C++ 中打印“N”字母的程序

Ayush Gupta
更新于 2019年12月19日 10:17:18

165 次浏览

在本教程中,我们将讨论一个使用 1 到 n 的数字模式打印“N”字母的程序。为此,我们将必须打印英文字母 N。我们的任务是确定字母的大小并使用数字 1 到 n 打印出来。示例 实时演示#include <iostream> using namespace std; //打印字母 N void print_N(int N){    int index, side_index, size;    int Right = 1, Left = 1, Diagonal = 2;    for (index = 0; index < N; index++) {       cout<

在 C++ 中查找小于或等于 N 的数字中数字的最大乘积

Arnab Chakraborty
更新于 2019年12月19日 10:10:25

357 次浏览

假设我们有一个整数 N > 0。任务是找到小于或等于 N 的数字中数字的最大乘积。如果 N 为 390,则结果为 216,因为数字 389 的乘积最大:3 * 8 * 9 = 216。为了解决这个问题,我们将使用递归方法。因此,如果 N = 0,则返回 1;如果数字 N < 10,则返回 N;否则返回 max(max_product(N/10) * (N mod 10), max_product((N/10) - 1)*9)示例 实时演示#include <iostream> using namespace std; int max_product(int N) {    if (N == 0) ... 阅读更多

在 C++ 中相乘两个矩阵的程序

Ayush Gupta
更新于 2019年12月19日 10:08:51

421 次浏览

在本教程中,我们将讨论一个相乘两个矩阵的程序。我们将得到两个矩阵,我们的任务是打印这两个矩阵的乘积。唯一的条件是第一个矩阵的列数必须等于第二个矩阵的行数。示例 实时演示#include <iostream> using namespace std; #define N 4 //相乘两个矩阵的元素 void calc_product(int mat1[][N], int mat2[][N], int res[][N]){    int i, j, k;    for (i = 0; i < N; i++) {       for (j = 0; ... 阅读更多

在 C++ 中查找二叉树中的最大层级乘积

Arnab Chakraborty
更新于 2019年12月19日 10:07:25

94 次浏览

假设给定一个二叉树。它有正数和负数节点。我们必须找到每一层级的最大乘积。考虑这是树,则第 0 层的乘积是 4,第 1 层的乘积是 2 * -5 = -10,第 2 层的乘积是 -1 * 3 * -2 * 6 = 36。所以这是最大的一个。为了解决这个问题,我们将执行树的层序遍历,在遍历过程中,分别处理不同层级的节点。然后得到最大乘积。示例 实时演示#include <iostream>#include <queue> using namespace std; class ... 阅读更多

在 C++ 中查找通过一次翻转获得的二进制表示中 1 的最长序列

Arnab Chakraborty
更新于 2019年12月19日 10:04:04

1K+ 次浏览

假设我们有一个整数 n。在其中,我们可以进行一位翻转以生成 1 的最长序列。假设数字是 13,则二进制表示为 1101。如果我们进行一位翻转,即将 0 变成 1,它将变成 1111。这是 1 的最长序列。为了解决这个问题,我们将遍历给定数字的位。我们将跟踪当前 1 的序列长度和之前的 1 的序列长度。当找到零时,更新之前的长度。因此,如果下一位是 1,则... 阅读更多

在 C++ 中创建数组直方图的程序

Ayush Gupta
更新于 2019年12月19日 10:05:50

3K+ 次浏览

在本教程中,我们将讨论一个根据数组中给定的数据创建直方图的程序。为此,我们将得到数组中的整数值。我们的任务是绘制一个直方图,使 x 和 y 坐标的值都等于数组中提供的值。示例 实时演示#include <iostream> using namespace std; void make_histogram(int arr[], int n){    int maxEle = *max_element(arr, arr + n);    for (int i = maxEle; i >= 0; i--) {       cout.width(2);       cout<

在 C++ 中查找链表的长度(迭代和递归)

Arnab Chakraborty
更新于 2019年12月19日 10:01:36

630 次浏览

在这里,我们将看到如何使用迭代和递归方法查找链表的长度。如果给出头指针,我们必须遵循以下步骤才能获得长度。对于迭代方法:获取列表的头,直到当前指针不为空,转到下一个节点并增加计数。对于递归方法:传递头作为参数,基本条件是当参数为空时,返回 0,否则递归进入列表并发送当前节点的下一个节点,返回 1 + 子列表的长度示例 实时演示#include <iostream> ... 阅读更多

在 C++ 中高效反转数字位的程序

Ayush Gupta
更新于 2019年12月19日 10:02:48

308 次浏览

在本教程中,我们将讨论一个高效反转数字位的程序。为此,我们将得到一个非负数。我们的任务是将数字转换为二进制格式,反转数字的二进制位。然后最后打印数字的十进制等价物。示例 实时演示#include <iostream> using namespace std; //反转数字位 int invert_bit(int n){    int x = log2(n) ;    int m = 1<

在 C++ 中查找数组数字乘积的最后 k 位数字

Arnab Chakraborty
更新于 2019年12月19日 09:58:48

123 次浏览

假设我们有一个包含 n 个元素的数组 A。我们还有另一个数字 k。我们的任务是找到数组 A 中元素乘积的最后 k 位数字。假设 A = [15, 22, 13, 19, 17],则乘积为 1385670,最后 k = 3 位数字为 670。为了解决这个问题,我们将对 10k 进行模乘法。示例 实时演示#include <iostream>#include <cmath> using namespace std; int displayLastKNumbers(int array[], int n, int k) {    int mod = (int)pow(10, k);    int mul = array[0] % mod;    for (int i = 1; i < n; ... 阅读更多

广告
© . All rights reserved.