Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

พิมพ์ตัวเลขที่มีตัวเลข K พร้อมรูทดิจิทัล D ใน C++


ในปัญหานี้ เราได้รับตัวเลข K และ D สองตัว หน้าที่ของเราคือพิมพ์ตัวเลข k ตัวเลขและมีรูทดิจิทัลเท่ากับ D

รูทดิจิทัล เป็นค่าตัวเลขหลักเดียวซึ่งเป็นผลมาจากการบวกซ้ำของตัวเลขจนถึงตัวเลขหลักเดียว หรือที่เรียกว่าผลรวมดิจิทัล

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน

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

ในการแก้ปัญหานี้ เราจะใช้การทดลองใช้ศูนย์หลังเลข D ตัวเลขของเราคือ {D000..(k-1 ครั้ง)} . นี่เป็นวิธีแก้ปัญหาที่เรียบง่ายและสวยงามซึ่งไม่ซับซ้อนเช่นกัน

ตัวอย่าง

โปรแกรมแสดงการใช้งานโซลูชันของเรา

#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;
}

ผลลัพธ์

6 digit number with digital Root = 5 is : 500000