Rumah >pembangunan bahagian belakang >C++ >Kurangkan tatasusunan kepada satu elemen menggunakan operasi yang diberikan

Kurangkan tatasusunan kepada satu elemen menggunakan operasi yang diberikan

PHPz
PHPzke hadapan
2023-08-31 19:01:151009semak imbas

Kurangkan tatasusunan kepada satu elemen menggunakan operasi yang diberikan

Diberi pembolehubah integer Nombor sebagai input. Mari kita pertimbangkan tatasusunan yang mengandungi unsur dalam julat 1 hingga Nombor dalam susunan yang disusun. Jika kita melakukan operasi pada tatasusunan, elemen pada kedudukan ganjil akan dialih keluar pada setiap langkah. Kemudian matlamatnya adalah untuk melaksanakan operasi N ini Bilangan kali sehingga hanya tinggal satu elemen. Cetak elemen pada penghujungnya.

NOTA -: Elemen diletakkan supaya tatasusunan pada indeks 0 berada pada kedudukan 1, dan seterusnya.

Kes ujian untuk bilangan elemen dalam tatasusunan

Nombor input=1, output=1

Nombor input=2, output=2

Nombor input=3, output=2

>

Nombor input=4, output= 4

Kuantiti input=5, output=4

Kuantiti input=6, output=4

Kuantiti input=7, output=4

...

Kuantiti input=12, nombor output=8

= 20, Output = 16

Berdasarkan pemerhatian di atas, untuk julat nombor antara 2i hingga 2i+1-1, output akan menjadi 2i .

Contoh

Input

−Nombor=7

Output

− Elemen selepas operasi pengurangan tunggal ialah: 4

Penjelasan

− Elemen pertama berada pada kedudukan 1, dan seterusnya.

Tatasusunan akan menjadi [ 1 2 3 4 5 6 7 ]

Selepas operasi pertama: [ 2 4 6 ]

Selepas operasi kedua: [ 4 ]

Masukkan

1

Masukkan nombor 1∎

− Elemen tunggal selepas operasi pengurangan ialah: 4

Penjelasan

− Elemen pertama berada pada kedudukan 1 dan tatasusunan

ialah [ 1 2 3 4 5 6 7 8 9 10 11 16 17 13 18]

Selepas operasi pertama: [ 2 4 6 8 10 12 14 16 18]

Selepas operasi ke-2: [ 2 8 12 16 ]

Selepas operasi ke-3: [ 8

16 ]

Kaedah yang digunakan dalam atur cara di bawah adalah seperti berikut

    Dalam kaedah ini, kita akan menggunakan gelung sementara untuk mengira hasil akhir berdasarkan formula di atas. Bermula dengan nilai awal 2, lelaran sehingga 2*hasil

    Dapatkan pembolehubah input Nombor
  • Fungsi getsingleElement(nombor panjang) mendapat nombor input dan mencetak hasilnya mengikut formula di atas.
  • Dapatkan hasil yang berubah-ubah.
  • Mulakan keputusan dengan 2.
  • li>Gunakan gelung sementara untuk melintasi sehingga hasil*2

  • akan menggandakan hasil dalam diri.
  • Setelah gelung sementara tamat, kita mendapat nilai yang diingini.

    Kembalikan hasil.
  • Cetak keputusan dalam utama.

Contoh

#include<bits/stdc++.h>
using namespace std;
long getsingleElement(long num){
   long result;
   result=2;
   while(result*2 <= num){
      result=result*2;
   }
   return result;
}
int main(){
   int Number = 20;
   cout<<"The single element after reduction operation is : "<<getsingleElement(Number) ;
   return 0;
}

Output

Jika kita menjalankan kod di atas, ia akan menghasilkan output berikut🎜
The single element after reduction operation is : 16
🎜

Atas ialah kandungan terperinci Kurangkan tatasusunan kepada satu elemen menggunakan operasi yang diberikan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam