這裏的問題:計數數字
以一個整數N(N> = 0)和一個數字d(0 < = d < = 9)爲整數。在0和n之間平方所有數字k(0 < = k < = n)。計算在寫入所有k ** 2時使用的數字d的數量。調用nb_dig(或nbDig或...)以n和d爲參數並返回此計數的函數。
但是產量比預期的少了一個。誰能告訴我缺少什麼:
預計:等於4700
實際:4699
class CountDig
{
public:
static int nbDig(int n, int d)
{
if(n==0 && d==0)
return 0;
int c = 0;
for(int i = 0;i<=n;i++)
{
int p=i*i;
while(p)
{
int l;
l=p%10;
if(l==d)
c++;
p=p/10;
}
}
return c;
}
};
又是怎麼回事'N'和'D',他們的價值觀? –
'我<= n'會導致訪問'a [i]'出界。 – user0042
@FilipKočica這只是從驅動程序中調用的函數! – yaoshinga