判斷乙個數字是不是7的倍數,可以直接求餘:
public
class
checkdivisibilityby7
}
當然也可以一直做減法,看看有沒有機會為0:
public
class checkdivisibilityby7
} else
if (n == 0) else
}return
false;
}public
static
void
main(string args)
}
下面有乙個比較有意思的辦法,我們假設乙個整數n,n可以表示為: n=
10a+b
於是b就是n的個位數字,a是十位(包括十位)以上的數字。等號兩邊乘以2,於是有: 2n
=20a+
2b於是有: 2n
=21a−
a+2b
因為21a無論如何也能被7整除,那麼起決定作用的部分只有−a
+2b 了。判斷是不是7的倍數,跟正負號也沒啥關係,所以我們也可以判斷a−
2b是不是7的倍數也行。
例如371: 37 – (2×1) = 37 – 2 = 35; 3 – (2 × 5) = 3 – 10 = -7,-7就是7的倍數了,所以371也是7的倍數。
public
class checkdivisibilityby7
public
static
void
main(string args)
}
要是這麼算時間複雜度也很小了,也就是整數字數的級別。 判斷乙個整數是否為素數 確定乙個整數是否是2的冪
給定乙個整數,編寫乙個函式來確定它是否是2的冪。範圍 1 2 31 1 測試用例 輸入 16,輸出 true 因為 2 4 16 輸入 18,輸出 false.最明顯的暴力方法就是除以2,然後檢查它是否達到1。var poweroftwo function n 由於給出的範圍在0 2 31 1之間,...
判斷乙個整數是否是回文數
判定乙個正整數是否是乙個回文數。例如12121是回文數,而1231不是回文數。要判斷乙個整數是否是回文數,最自然的想法是把整數轉換成乙個字串,然後根據回文的對稱特性進行判斷。數字轉換為字串可以通過itoa函式實現,判斷字串是否為回文字串 如下 bool ispalindrome string str...
判斷乙個整數是否是回文數。
1 c語言不允許函式巢狀定義。解決辦法就是將函式放到外面定義。2 c語言裡沒有bool型true,false。需要自己定義 define bool int define true 1 define false 0或者使用標頭檔案stdbool.h。判斷乙個整數是否是回文數。include defin...