Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dalam C++, terjemahkan nombor ke-n supaya jumlah nombor itu ialah sepuluh

Dalam C++, terjemahkan nombor ke-n supaya jumlah nombor itu ialah sepuluh

WBOY
WBOYke hadapan
2023-09-05 08:41:041002semak imbas

Dalam C++, terjemahkan nombor ke-n supaya jumlah nombor itu ialah sepuluh

Nombor yang jumlahnya bersamaan dengan 10 ialah

19, 28, 37, 46, 55, 64, 73, 9 , dsb. ,

Jika anda melihat urutan ini, setiap nombor menambah 9. Dalam urutan di atas, semasa proses menambah 9, terdapat beberapa nombor yang jumlah digitnya tidak sama dengan 10. Walau bagaimanapun, anda akan mendapat jumlah semua nombor bersamaan dengan 10.

Jadi kita boleh mempunyai gelung yang meningkat sebanyak 9 dan menyemak jumlah nombor dan mencari nombor ke-n. Mari lihat beberapa contoh

Input

3
7

Output##🎜🎜🎜##🎜🎜🎜##🎜🎜

Initialize nombor
    n
  • Initialize kaunter ke 0.
  • Tulis gelung bermula dari
  • 19
  • Jika jumlah nombor semasa ialah 10, kemudian tambahkan pembilang sebanyak 1.
    • Jika pembilang sama dengan n, kembalikan nombor semasa.
    • Tingkatkan pembolehubah lelaran sebanyak 9.
  • Pelaksanaan

Berikut ialah pelaksanaan C++ bagi algoritma di atas

37
73
#🎜 🎜🎜# Jika anda menjalankan kod di atas, anda akan mendapat keputusan berikut.
#include <bits/stdc++.h>
using namespace std;
int findNthNumber(int n) {
   int count = 0, i = 19;
   while (true) {
      int sum = 0;
      for (int number = i; number > 0; number = number / 10) {
         sum = sum + number % 10;
      }
      if (sum == 10) {
         count++;
      }
      if (count == n) {
         return i;
      }
      i += 9;
   }
   return -1;
}
int main() {
   int n = 7;
   cout << findNthNumber(7) << endl;
   return 0;
}

Atas ialah kandungan terperinci Dalam C++, terjemahkan nombor ke-n supaya jumlah nombor itu ialah sepuluh. 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