Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gunakan C++ untuk menulis atur cara untuk mencari nombor yang jumlah digitnya ialah nombor genap.

Gunakan C++ untuk menulis atur cara untuk mencari nombor yang jumlah digitnya ialah nombor genap.

WBOY
WBOYke hadapan
2023-08-28 23:49:071291semak imbas

Gunakan C++ untuk menulis atur cara untuk mencari nombor yang jumlah digitnya ialah nombor genap.

Integer yang boleh dibahagi sama rata dengan 2 ialah nombor genap. Jadi dalam artikel ini, kita diberi nombor n, dan kita perlu mencari nombor ke-n yang jumlahnya genap. Nombor yang jumlah lima nombor pertama ialah nombor genap ialah 2, 4, 6, 8 dan 11 masing-masing. Contohnya −

Input : n = 5
Output : 11
Explanation : First 5 numbers with even sum of digits are 2, 4, 6, 8, 11 i.e 5th
number is 11.

Input : 12
Output : 24

Kaedah mencari penyelesaian

Kini anda akan belajar tentang dua kaedah berbeza untuk mencari penyelesaian kepada masalah yang diberikan.

Kaedah naif

Cara mudah untuk mencari nombor ke-n adalah dengan mengulang nombor-nombor bermula dari 1 dan semak sama ada jumlah digit bagi setiap nombor adalah genap, jika ya, tambahkan pembilang sebanyak 1 sehingga nilai pembilang sama dengan n, Nombor ke-n terakhir akan menjadi jawapan.

Kaedah Cekap

Kaedah yang cekap ialah dengan terlebih dahulu menyemak nombor permulaan dengan jumlah genap dan mencari pola untuk mencari jawapan. 20 nombor pertama dengan jumlah genap ialah 2, 4, 6, 8, 11, 13, 15, 17, 19, 20, 22, 24, 26, 28, 31, 33, 35, 37, 39 dan 40. Memerhatikan 20 nombor pertama ini, kita dapati bahawa jika digit tunggal n adalah antara 0 dan 4, maka nombor ke-n ialah 2*n, dan jika nombor ke-n adalah antara 5 dan 9, maka nombor ke-n ialah 2* n. Nombornya ialah (2*n+1).

Contoh

#include <bits/stdc++.h>
using namespace std;
int main () {
   long long int n = 13;
   long long int result;
   // finding the last digit of n
   int last_digit = n % 10;
   // checking if last digit is between 0 and 4
   if (last_digit >= 0 && last_digit <= 4)
      result = 2 * n;
      // checking if last digit is between 5 and 9
   else
      result = (2 * n) + 1;
   cout << "nth Number with even sum of digits: " << result;
   return 0;
}

Output

nth Number with even sum of digits: 26

Penjelasan kod di atas

  • Cari digit terakhir dan semak jika ia antara 0 dan 4 jika ya, simpan 2*n sebagai jawapan dalam pembolehubah hasil.
  • Jika tidak, semak sama ada digit terakhir adalah antara 5 dan 9 jika ya, simpan 2*n + 1 sebagai jawapan dalam pembolehubah hasil.
  • Cetak nombor ke-n dengan nombor genap digit dan jumlah yang disimpan dalam pembolehubah hasil.

Kesimpulan

Dalam artikel ini kita membincangkan masalah mencari nombor ke-n dengan nombor genap dan kita boleh menyelesaikan masalah ini dalam dua cara yang dibentangkan dalam artikel ini. Kami juga menulis kod C++ untuk menyelesaikan masalah yang sama. Kita boleh menulis kod ini dalam bahasa lain seperti C, Java, Python, dll. Semoga artikel ini membantu anda.

Atas ialah kandungan terperinci Gunakan C++ untuk menulis atur cara untuk mencari nombor yang jumlah digitnya ialah nombor genap.. 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