Dalam bahasa C, kira bilangan 1 dalam tatasusunan selepas N bergerak

WBOY
Lepaskan: 2023-09-11 16:25:02
ke hadapan
1232 orang telah melayarinya

Dalam bahasa C, kira bilangan 1 dalam tatasusunan selepas N bergerak

Diberikan susunan saiz N. Tatasusunan pada mulanya adalah semua sifar. Tugasnya ialah mengira. Nombor 1 dalam tatasusunan selepas N bergerak. Setiap langkah N mempunyai peraturan yang berkaitan. Peraturannya ialah -

  • Pergerakan pertama - tukar elemen

  • pada kedudukan 1, 2, 3, 4…………
  • Langkah kedua - tukar kedudukan 2, 4, 6, 8……… …..

  • Langkah ketiga - tukar elemen pada kedudukan 3 dan 6, 9, 12………..

Kira bilangan 1 dalam tatasusunan terakhir.

Kita faham melalui contoh. .

Arr[]={ 0,0,0,0 } N=4
Salin selepas log masuk

Penjelasan - Susunan selepas pergerakan seterusnya -

Number of 1s in the array after N moves − 2
Salin selepas log masuk

Kaedah yang digunakan dalam atur cara di bawah adalah seperti berikut

Kami menggunakan tatasusunan integer Arr[] yang dimulakan dengan 0 dan integer N.

Fungsi Onecount mengambil Arr[] dan saiz Nnya sebagai input dan mengembalikan no. Nombor dalam tatasusunan terakhir selepas N bergerak.

Gelung for bermula dari 1 dan pergi ke penghujung tatasusunan.

Setiap i mewakili langkah ke-i.

Gelung bersarang untuk bermula pada indeks ke-0 dan pergi ke penghujung tatasusunan.

  • Untuk setiap langkah ke-i, jika indeks j ialah gandaan i (j%i==0), gantikan 0 pada kedudukan itu dengan 1.

    < /li>
  • Teruskan proses ini untuk setiap i sehingga akhir tatasusunan.

  • Nota
  • - Pengindeksan bermula dari i=1,j=1, tetapi pengindeksan tatasusunan bermula dari 0 hingga N-1. Jadi arr[j1] akan ditukar setiap kali.
  • Akhirnya melintasi keseluruhan tatasusunan sekali lagi, mengira tidak. Ia mengandungi 1 dan disimpan dalam kiraan.
  • Mengembalikan kiraan hasil yang diingini.
  • Contoh

  • Live Demo
  • Move 1: { 1,1,1,1 }
    Move 2: { 1,0,1,0 }
    Move 3: { 1,0,0,3 }
    Move 4: { 1,0,0,1 }
    Number of ones in the final array is 2.
    Salin selepas log masuk

    Output

  • Jika kita menjalankan kod di atas, ia akan menghasilkan output berikut -
  • Arr[]={ 0,0,0,0,0,0} N=6
    Salin selepas log masuk

    Atas ialah kandungan terperinci Dalam bahasa C, kira bilangan 1 dalam tatasusunan selepas N bergerak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!