在Java中统计n的因数中至少与n有一个公共数字的因数个数
给定一个数字,例如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
广告