在 C++ 中重新排列前 N 个数字,使它们处于 K 距离
给定整数变量,比如说 N 和 K。任务是首先计算 N 的排列,然后重新排列排列,使其与每个元素的距离为 K。
让我们看看各种输入输出场景 -输入- int n = 20, int k = 2
输出
strong>− 重新排列前 N 个数字,使其处于 K 距离处:3 4 1 2 7 8 5 6 11 12 9 10 15 16 13 14 19 20 17 18。解释
说明 strong>− 我们给出整数变量 'N' 即 20 和 'K' 即 2。现在我们将计算 'N' 的排列,即 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 , 11, 12, 13, 14, 15, 16, 17, 18. 19, 20. 现在,我们 将以这样的方式排列元素,使所有元素与每个元素的距离为“k”。
输入− int n = 10, int k = 3
输入− int n = 10, int k = 3
输入p> 输出- 重新排列前 N 个数字以使它们处于 K 距离:不可能 解释 - 我们给出了整数变量'N' 即 10,'K' 即 3。现在我们将计算 'N' 的排列,即 1, 2, 3, 4, 5, 6, 7, 8, 9, 10。现在,我们将排列元素以这样的方式,所有元素都与每个元素相距“k”距离,但对于给定的输入值是不可能的。 输入一个整数类型元素,即'N'和'K'。 调用函数Rearrangement(int n, int k) 通过将 N 和 K 作为参数传递给函数。 函数内部 Rearrangement(int n, int k) 声明一个整型变量为 temp 并设置为 n % (2 * k)。 声明一个整型数组为大小为 n + 的 ptr 1 即 prt[n+1]。 检查 IF k = 0 然后开始从 i 到 1 循环 FOR 直到 i 小于 size 并将 i 增加 1 并打印 i . 检查 IF temp 不等于 0,然后打印 NOT POSSIBLE。 开始从 i 到 1 的 FOR 循环,直到 i 小于 开始从 i 到 1 的 FOR 循环,直到 i 小于 n,并将 i 设置为 i + 2 * k。在循环内部,启动另一个循环 FOR 从 j 到 1,直到 j 小于 k 并将 j 加 1。在循环内部,通过传递 ptr[i + j -1] 和 ptr[k + i + j 调用 swa 方法- 1] 作为参数。 开始从 i 到 1 的 FOR 循环,直到 i 小于 N 并将 i 增加 1。 打印 prt[i]。 打印结果。 如果我们运行上面的代码,它将生成以下输出下面的程序中使用的方法如下
#include <bits/stdc++.h>
using namespace std;
void Rearrangement(int n, int k){
int temp = n % (2 * k);
int ptr[n + 1];
if(k == 0){
for(int i = 1; i <= n; i++){
cout << i << " ";
}
return;
}
if(temp != 0){
cout<<"Not Possible";
return;
}
for(int i = 1; i <= n; i++){
ptr[i] = i;
}
for(int i = 1; i <= n; i += 2 * k){
for(int j = 1; j <= k; j++){
swap(ptr[i + j - 1], ptr[k + i + j - 1]);
}
}
for(int i = 1; i <= n; i++){
cout << ptr[i] << " ";
}
}
int main(){
int n = 20;
int k = 2;
cout<<"Rearrangement of first N numbers to make them at K distance is: ";
Rearrangement(n, k);
return 0;
}
输出
Rearrangement of first N numbers to make them at K distance is: 3 4 1 2 7 8 5 6 11 12 9 10 15 16 13 14 19 20 17 18
以上是在 C++ 中重新排列前 N 个数字,使它们处于 K 距离的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

本文详细介绍了C函数返回类型,包括基本(int,float,char等),派生(数组,指针,结构)和void类型。 编译器通过函数声明和返回语句确定返回类型,执行

Gulc是一个高性能的C库,优先考虑最小开销,积极的内衬和编译器优化。 其设计非常适合高频交易和嵌入式系统等关键应用程序,其设计强调简单性,模型

本文解释了C函数声明与定义,参数传递(按值和指针),返回值以及常见的陷阱,例如内存泄漏和类型不匹配。 它强调了声明对模块化和省份的重要性

本文详细介绍了字符串案例转换的C功能。 它可以通过ctype.h的toupper()和tolower()解释,并通过字符串迭代并处理零终端。 常见的陷阱,例如忘记ctype.h和修改字符串文字是

本文研究C函数返回值存储。 较小的返回值通常存储在寄存器中以备速度;较大的值可能会使用指针来记忆(堆栈或堆),影响寿命并需要手动内存管理。直接ACC

本文分析了形容词“独特”的多方面用途,探索其语法功能,常见的短语(例如,“不同于”,“完全不同”),以及在正式与非正式中的细微应用

本文详细介绍了c中有效的STL算法用法。 它强调了数据结构选择(向量与列表),算法复杂性分析(例如,std :: sort vs. std vs. std :: partial_sort),迭代器用法和并行执行。 常见的陷阱

本文解释了C标准模板库(STL),重点关注其核心组件:容器,迭代器,算法和函子。 它详细介绍了这些如何交互以启用通用编程,提高代码效率和可读性t
