百度面试题第4题
给定一个整数N,求编码函数f,f满足M=f(N),M可以不存在,且M和n的关系满足:
by hubbly
HTML
<b>给定一个整数N,求编码函数f,f满足M=f(N),M可以不存在,且M和n的关系满足:
</b>
<ul>
<li>M的位数和N相同</li>
<li>M的各个位之和与N的各个位之和相同</li>
<li>M>N</li>
<li>M的各M是满足上述条件中,值最小的一个解<li>
</ul>
<br />
N=<input id="inputN" />,M=<input id="inputM" />,<input id="inputCalc" type="button" value="计算" />
JavaScript
function QiuSum(n){
var s = n.toString();
var sum = 0;
for(var i=0; i<s.length; i++){
sum += parseInt(s[i]);
}
return sum;
}
function QiuM(n){
var m = n;
var length4N = n.toString().length;
var sum4N = QiuSum(n)
while(true){
m++;
if(m.toString().length > length4N){
return 0;
}
if(QiuSum(m) == QiuSum(n)){
return m;
}
}
}
document.getElementById("inputCalc").onclick = function(){
var inputN = document.getElementById("inputN");
var inputM = document.getElementById("inputM");
var n = parseInt(inputN.value);
var m = QiuM(n);
inputM.value = m;
}