เราได้รับตัวเลข สมมติว่า num และภารกิจคือการคำนวณตัวหารของตัวเลขที่กำหนด ดังนั้นจึงนับตัวหารของ num ที่มีอย่างน้อยหนึ่งหลักที่เหมือนกันกับ n
ป้อนข้อมูล − num =24
ผลผลิต − นับเป็น 4
คำอธิบาย − เราจะดำเนินการตามขั้นตอนต่อไปนี้ −
-
ขั้นแรก คำนวณตัวหารของจำนวนที่กำหนด
-
ตัวหารของ 24 คือ − 1, 2, 3, 4, 6, 8, 12, 24
-
-
ประการที่สอง ตรวจสอบว่าตัวหารใดมีอย่างน้อยหนึ่งหลักที่ตรงกับตัวเลข
-
2, 4, 12, 24 เป็นตัวหารที่มีตัวเลขตรงกับตัวเลขในตัวเลข
-
ป้อนข้อมูล − num =10
ผลผลิต − นับเป็น 2
คำอธิบาย − เราจะดำเนินการตามขั้นตอนต่อไปนี้ −
-
ขั้นแรก คำนวณตัวหารของจำนวนที่กำหนด
-
ตัวหารของ 24 คือ:1, 2, 5, 10
-
-
ประการที่สอง ตรวจสอบว่าตัวหารใดมีอย่างน้อยหนึ่งหลักที่ตรงกับตัวเลข
-
1 และ 10 เป็นตัวหารที่มีตัวเลขตรงกับตัวเลขในตัวเลข
-
ตัวอย่าง
package test; import java.util.*; import java.util.List; import java.util.Scanner; public class Testdigit{ static int digitCheck(int m,int arr[]){ while (m > 0){ if (arr[m % 10]==1){ return(1); } m = m / 10; } return(0); } public static void main (String[] args){ Scanner scan=new Scanner(System.in); int n=scan.nextInt(); int arr[] = new int[10]; int m = n; while (m > 0){ arr[m % 10] = 1; m = m / 10; } int count = 0; for (int i = 1; i <= Math.sqrt(n);i++){ if (n % i == 0){ if (digitCheck(i, arr)==1){ count++; } if (n / i != i){ if (digitCheck(n/i, arr)==1){ count++; } } } } System.out.println(ans); } }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น เราจะได้ผลลัพธ์ดังต่อไปนี้ -
Enter any number: 24 Count 5