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