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

โปรแกรม C++ ค้นหาตัวเลขที่เล็กที่สุดในจำนวนที่กำหนด


ด้วยจำนวนที่ไม่เป็นลบ ภารกิจคือการหาตัวเลขที่เล็กที่สุด

ตัวอย่าง

ป้อนข้อมูล:

N = 154870

ผลลัพธ์:

0

คำอธิบาย: ในหมายเลขที่กำหนด '154870' ตัวเลขที่น้อยที่สุดคือ '0'

แนวทางในการแก้ปัญหานี้

วิธีที่ง่ายที่สุดในการแก้ปัญหานี้คือดึงตัวเลขหลักสุดท้ายในตัวเลขที่กำหนดโดยใช้ส่วนที่เหลือ ทฤษฎีบท . ขณะสำรวจหมายเลข เราจะตรวจสอบว่าตัวเลขที่แยกออกมานั้นน้อยกว่าหลักสุดท้ายหรือไม่ จากนั้นส่งคืนผลลัพธ์

  • จดตัวเลข เป็นอินพุต
  • ฟังก์ชันจำนวนเต็ม smallest_digit(int n) รับ 'n' เป็นอินพุตและส่งกลับตัวเลขที่น้อยที่สุดในตัวเลขที่กำหนด
  • ตอนนี้เริ่มต้น min เป็นตัวเลขสุดท้ายของตัวเลขที่ระบุ
  • วนซ้ำตัวเลขและตรวจสอบว่าตัวเลขที่แยกออกมานั้นน้อยกว่าจำนวนขั้นต่ำหรือไม่ หากเป็นจริง ให้อัปเดตจำนวนขั้นต่ำและส่งคืนผลลัพธ์
  • ลบตัวเลขสุดท้ายออกทีละ n/10 และตรวจสอบว่ามีตัวเลขอื่นที่น้อยกว่าหลักปัจจุบันหรือไม่
  • ส่งคืนผลลัพธ์

ตัวอย่าง

#include <iostream>
using namespace std;
int smallest_digit(int n) {
   int min = n % 10; //assume that last digit is the smallest
   n /= 10; //to start from the second last digit
   while (n != 0) {
      if (min > n % 10)
         min = n % 10;
      n /= 10;
   }
   return min;
}
int main() {
   int n = 154870;
   cout << smallest_digit(n);
   return 0;
}

การเรียกใช้โค้ดด้านบนจะสร้างผลลัพธ์เป็น

ผลลัพธ์

0

คำอธิบาย :ในตัวเลขที่กำหนด '154870' ตัวเลขที่น้อยที่สุดคือ '0'