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

นับตัวหารของ n ที่มีอย่างน้อยหนึ่งหลักร่วมกับ n ใน Java


เราได้รับตัวเลข สมมติว่า 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