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

เพิ่ม N หลักให้กับ A เพื่อให้หารด้วย B หลังจากการบวกแต่ละครั้ง?


ให้ a, b และ n และเราต้องพิจารณาเงื่อนไขต่อไปนี้และค้นหาวิธีแก้ปัญหาที่เหมาะสมที่สุดในการบวกตัวเลข n ตัวให้ a หารด้วย b ลงตัวหลังจากการวนซ้ำทุกครั้ง

  • เพิ่มตัวเลขใน a ใน a . ดังกล่าว วิธีที่หลังจากเพิ่มแล้ว a หารด้วย b . ลงตัว .

  • พิมพ์ค่าที่น้อยที่สุดของ a เป็นไปได้หลังจากทำซ้ำขั้นตอนที่ 1 n ซ้ำ

  • พิมพ์ ล้มเหลว หากการดำเนินการล้มเหลว

ตรวจสอบการหารหลังการบวกทุกหลัก

ป้อนข้อมูล

a=5 b=4 n=4

ผลผลิต

52000

คำอธิบาย

หลักแรกที่จะเพิ่มจาก 0 ถึง 9 หากไม่มีตัวเลขใดทำให้ a หารด้วย b แล้วคำตอบก็คือ -1 ซึ่งหมายถึง if n ตัวเลขถูกเพิ่มใน a . a ไม่เคยถูกหารด้วย b . มิฉะนั้นให้เพิ่มหลักแรกที่ตรงตามเงื่อนไขแล้วเพิ่ม 0 หลังจากนั้น (n-1) ครั้ง เพราะถ้า หารด้วย b . ลงตัว แล้ว a*10 a*100 … จะหารด้วย b . ลงตัวด้วย .

ตัวอย่าง

#include <iostream>
using namespace std;
int main() {
   int a = 5, b = 4, n = 4;
   int num = a;
   for (int i = 0; i <= 9; i++) {
      int temp = a * 10 + i;
      if (temp % b == 0) {
         a = temp;
         break;
      }
   }
   if (num == a) {
      a = -1;
   }
   for (int j = 0; j < n - 1; j++) {
      a *= 10;
   }
   if(a>-1) {
      cout <<a;
   } else {
      cout <<”fail”;
   }
   return 0;
}