編寫一個程式來反轉一個數字的位數
反轉數字位的程式將互換各位數字的順序。
讓我們假設一個數字為 abcde,則其反轉將為 edcba。
舉個例子來理解一下這個問題:
輸入
n = 786521
輸出
125687
要反轉數字的位數,我們將從數字(個位數)的最高有效位獲取每一位數字並將其新增到反轉數字變數中,然後將原始數字除以 10,並將反轉數乘以 10。此操作將持續到該數字變為 0。
這個重複的過程可以透過迭代和遞迴這兩種方法完成,我們將編寫一個程式來說明這兩種方法。
示例
方法 1:迭代方法
#include <iostream>
using namespace std;
int reversDigitsIt(int n) {
int reverseNumber = 0;
while(n > 0){
reverseNumber = reverseNumber*10 + n%10;
n /= 10;
}
return reverseNumber;
}
int main() {
int n = 4562;
cout<<"The number is : "<<n<<endl;
cout<<"Reverse of number is "<<reversDigitsIt(n);
return 0;
}輸出
The number is : 4562 Reverse of number is 2654
示例
方法 2:遞迴方法
#include <iostream>
using namespace std;
int reverseNumber = 0;
int numPos = 1;
void reversDigitsRec(int n) {
if(n > 0){
reversDigitsRec(n/10);
reverseNumber += (n%10)*numPos;
numPos *= 10;
}
}
int main() {
int n = 4562;
cout<<"The number is : "<<n<<endl;
reversDigitsRec(n);
cout<<"Reverse of number is "<<reverseNumber;
return 0;
}輸出
The number is : 4562 Reverse of number is 2654
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP