Diberi pembolehubah integer, katakan N dan K. Tugasnya adalah untuk terlebih dahulu mengira pilih atur N dan kemudian menyusun semula pilih atur supaya ia adalah jarak K dari setiap elemen.
Mari kita lihat pelbagai senario input dan output -Input- int n = 20, int k = 2
Output
kuat>− Susun semula nombor N pertama supaya berada pada jarak K 4: 2 7 8 5 6 11 12 9 10 15 16 13 14 19 20 17 18.Penjelasan
Penjelasan strong>− Kami diberi pembolehubah integer 'N' iaitu 20 dan 'K' iaitu 2. Sekarang kita akan mengira pilih atur 'N' iaitu 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18. 19, 20 Sekarang kita Unsur-unsur akan disusun sedemikian rupa sehingga semua elemen berada "k" dari setiap elemen.
Input− int n = 10, int k = 3
Input − int n = 10, int k = 3
Input p> Susun semula nombor yang pertama Jarak K: Mustahil Penjelasan - Kami diberi pembolehubah integer 'N' iaitu 10 dan 'K' iaitu 3. Sekarang kita akan mengira pilih atur 'N' iaitu 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Sekarang, kami akan menyusun elemen sedemikian rupa sehingga semua elemen berada dalam jarak "k" dari setiap elemen, tetapi itu tidak mungkin untuk nilai input yang diberikan.
Output
#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
Atas ialah kandungan terperinci Susun semula nombor N pertama supaya jaraknya K dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!