河北建设厅网站,广告模板在哪个网站好,北大荒建设集团有限公司网站,wordpress手机上发文给你一个整数 num #xff0c;返回 num 中能整除 num 的数位的数目。 如果满足 nums % val 0 #xff0c;则认为整数 val 可以整除 nums 。 示例 1#xff1a; 输入#xff1a;num 7 输出#xff1a;1 解释#xff1a;7 被自己整除#xff0c;因此答案是 1 。 示例 2返回 num 中能整除 num 的数位的数目。 如果满足 nums % val 0 则认为整数 val 可以整除 nums 。 示例 1 输入num 7 输出1 解释7 被自己整除因此答案是 1 。 示例 2 输入num 121 输出2 解释121 可以被 1 整除但无法被 2 整除。由于 1 出现两次所以返回 2 。 示例 3 输入num 1248 输出4 解释1248 可以被它每一位上的数字整除因此答案是 4 。 提示 1 num 10^9 num 的数位中不含 0
#includestdio.hint countDigits(int num);
int main()
{int num;scanf(%d,num);printf(num%d\n,num);printf(%d 次,countDigits(num));
}int countDigits(int num){int numCopy num, count 0,array[10] {0};if(numCopy10)if(numCopy%numCopy 0)count;if(numCopy10){while (numCopy){array[numCopy%10]; if(num%(numCopy%10) 0){count;printf(array %d %d\n,numCopy%10,num%(array[numCopy%10]));}elsecount count;numCopy / 10;}}return count;
}//另一种方式
int countDigits(int num) {int tmp;int nums[10]{};for(tmp num;tmp!0;tmp/10)nums[tmp%10];tmp0;for(int temp0;temp10;temp)if(nums[temp]num%temp0)//nums[temp]不等于 0 成立tmpnums[temp];return tmp;}