Google – FuncN
给一个数n和一个数组,比如[3, 5, 7, 9, 19],如果n能被3整除,返回func3(n),如果n能同时被3和5整除,返回func3(func5(n)),如果n能被所有数整除,返回func3(func5(func7(func9(func19(n)))))
Read full article from Google – FuncN
给一个数n和一个数组,比如[3, 5, 7, 9, 19],如果n能被3整除,返回func3(n),如果n能同时被3和5整除,返回func3(func5(n)),如果n能被所有数整除,返回func3(func5(func7(func9(func19(n)))))
public
String funcN(
int
n,
int
[] nums) {
return
recur(n,
0
, nums);
}
private
String recur(
int
n,
int
pos,
int
[] nums) {
if
(pos == nums.length) {
return
String.valueOf(n);
}
if
(n % nums[pos] ==
0
) {
return
func(nums[pos], recur(n, pos +
1
, nums));
}
return
recur(n, pos +
1
, nums);
}
private
String func(
int
i, String n) {
return
String.format(
"Func%d(%s)"
, i, n);
}