Computer >> Máy Tính >  >> Lập trình >> C ++

In một số chứa K chữ số với gốc số D trong C ++


Trong bài toán này, chúng ta được cho hai số K và D. Nhiệm vụ của chúng ta là in ra một số k chữ số và có căn số là D.

Gốc kỹ thuật số là giá trị có một chữ số là kết quả của phép cộng đệ quy các chữ số của số cho đến khi đạt được một số có một chữ số. Còn được gọi là tổng kỹ thuật số.

Hãy lấy một ví dụ để hiểu vấn đề,

Input: D = 5 , K = 6
Output: 60000

Để giải quyết vấn đề này, chúng tôi sẽ sử dụng các thử nghiệm của số 0 sau số D. Số của chúng tôi sẽ là {D000 .. (k-1 lần)} . Đây là một giải pháp đơn giản và dễ hiểu cho vấn đề cũng ít phức tạp hơn của chúng tôi.

Ví dụ

Chương trình cho thấy việc triển khai giải pháp của chúng tôi,

#include <bits/stdc++.h>
using namespace std;
void printKdigitNumber(int k, int d) {
   if (d == 0 && k != 1)
      cout << "-1";
   else {
      cout << d;
      k--;
      while (k--)
         cout << "0";
   }
}
int main() {
   int K=6, D=5;
   cout<<K<<" digit number with digital Root = "<<D<<" is : ";
   printKdigitNumber(K, D);
   return 0;
}

Đầu ra

6 digit number with digital Root = 5 is : 500000