ให้ 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;
}