九日打卡-2-阅读报告
練習(xí)題
1 題目描述?231. 2的冪?
給你一個(gè)整數(shù) n,請(qǐng)你判斷該整數(shù)是否是 2 的冪次方。如果是,返回 true ;否則,返回 false 。
如果存在一個(gè)整數(shù) x 使得?n == 2x ,則認(rèn)為 n 是 2 的冪次方
class Solution { public:bool isPowerOfTwo(int n) {if(n==0){return 0;}else{int x;x = n % 2;if (x !=0) {if (n != 1) //在取余不為零情況下,排除n為1的情況return 0;elsereturn 1;}else //若取余結(jié)果為零,則遞歸,進(jìn)一步整除return isPowerOfTwo(n/2);}} };2 題目描述?326. 3的冪
給定一個(gè)整數(shù),寫一個(gè)函數(shù)來判斷它是否是 3?的冪次方。如果是,返回 true ;否則,返回 false 。
整數(shù) n 是 3 的冪次方需滿足:存在整數(shù) x 使得 n == 3^x
class Solution { public:bool isPowerOfThree(int n) {if(n==0){return 0;}else{int x;x = n % 3;if (x !=0) {if (n != 1) //在取余不為零情況下,排除n為1的情況return 0;elsereturn 1;}else //若取余結(jié)果為零,則遞歸,進(jìn)一步整除return isPowerOfThree(n/3);}} };3 題目描述?342. 4的冪
給定一個(gè)整數(shù),寫一個(gè)函數(shù)來判斷它是否是 4 的冪次方。如果是,返回 true ;否則,返回 false 。
整數(shù) n 是 4 的冪次方需滿足:存在整數(shù) x 使得 n == 4^x
class Solution { public:bool isPowerOfFour(int n) {if(n==0){return 0;}else{int x;x = n % 4;if (x !=0) {if (n != 1) //在取余不為零情況下,排除n為1的情況return 0;elsereturn 1;}else //若取余結(jié)果為零,則遞歸,進(jìn)一步整除return isPowerOfFour(n/4);}} };4 題目描述?劍指 Offer 64. 求1+2+…+n
求?1+2+...+n?,要求不能使用乘除法、for、while、if、else、switch、case等關(guān)鍵字及條件判斷語(yǔ)句(A?B:C)。
class Solution {int res=0;public:int sumNums(int n) {bool x = n > 1 && sumNums(n - 1) > 0;res += n;return res;} };今日心得
1 在某些時(shí)候,可以利用短路來代替if-else語(yǔ)句
2 遞歸的思想
3 判斷是否是一個(gè)數(shù)的冪的時(shí)候,需要結(jié)合取余與整除,大致思路為先取余看輸入數(shù)是否為基數(shù)的倍數(shù),若是,則將輸入數(shù)除以基數(shù)后進(jìn)行遞歸操作。不斷遞歸直至最后遞歸數(shù)小于基數(shù),此時(shí)判斷遞歸數(shù)是否為1 ,若為1則結(jié)果為true。注意遞歸函數(shù)中往往需要特判,且必須有終止條件。
總結(jié)
以上是生活随笔為你收集整理的九日打卡-2-阅读报告的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工作中常用且容易遗忘的 CSS 样式清单
- 下一篇: Qt实现文字滚动、翻动动画