2 3

分享

回文整數 (C++)

Palindrome Number(LeetCode_Easy_9)

筆記:

Boolen 布林值

  • True:1
  • False:0

%餘數

只能對整數取餘數,浮點數取餘數則會報錯
  

error: invalid operands of types 'double' and 'double' to binary 'operator%'

log10

使用log判斷x屬於幾位數
  • 個位數:0、十位數:1、百位數:2
  • log(10) = 1
  • log(66) = 1.81954
  • log(100) =2
  

#include <cmath>

log10(負數) = nan

log10(0) = -inf

題目:給定一個整數x,判斷如果屬於回文整數回傳True,若不是回傳False。
回文:不管從頭開始讀,還是從尾開始讀,都是一樣的數字
範例:121(True),-121(False),123(False)
  

#include <iostream>

#include <cmath>

using namespace std;

int main(){

        int x = 121;

        if(x<0){return 0;} //log10(負數) = nan

        if(x==0){return 1;} //log10(0) = -inf

        int i = log10(x);

        for(int k=0; k<=i; k++){

                if(int(x/pow(10,k))%10 != int(x/pow(10,i-k))%10){

                        cout<<"False"<<endl;

                }

        }

        cout<<"True"<<endl;

        // cout<<log10(0)<<endl;

        // cout<<log10(-1)<<endl;

}

參考資料

[1]. 莫杜洛操作員 (%)在 C/C++與示例 - 極客為吉克斯 (geeksforgeeks.org)
[2]. C语言怎样提取一个数的十位个位百位千位_phenixyf的专栏-CSDN博客_c语言怎样取个,十,百位上的数
[3]. bool (C++) | Microsoft Docs
#leetcode  #c語言 
分類:學習

文章有錯誤的地方還請留言指正,謝謝各位。(目前C++新手教學第二章內容已完結)。建議或意見可私訊:https://reurl.cc/ze7L9k

評論
上一篇
  • 下一篇
  • C++ 新手教學7
  • 更多文章
    載入中... 沒有更多了