N 的前 X 位和後 X 位數之間的絕對差?
我們將在本文中看到如何獲取數字 N 的前 X 位和後 X 位之間的差值。數字和 X 已給出。為了解決這個問題,我們必須計算數字的長度,然後使用模運算擷取後 X 位數字。然後從數字中擷取前 X 位以外的所有數字。然後獲取差值,並返回結果。設數字為 N = 568424。X 為 2,所以前兩位數字為 56,後兩位數字為 24。差值為 (56 - 24) = 32。
演算法
diffFirstLastDigits(N, X)
begin p := 10^X last := N mod p len := length of the number N while len is not same as X, do N := N / 10 len := len -1 done first := len return |first - last| end
示例
#include <iostream>
#include <cmath>
using namespace std;
int lengthCount(int n){
return floor(log10(n) + 1);
}
int diffFirstLastDigits(int n, int x) {
int first, last, p, len;
p = pow(10, x);
last = n % p;
len = lengthCount(n);
while(len != x){
n /= 10;
len--;
}
first = n;
return abs(first - last);
}
main() {
int n, x;
cout << "Enter number and number of digits from first and last: ";
cin >> n >> x;
cout << "Difference: " << diffFirstLastDigits(n,x);
}輸出
Enter number and number of digits from first and last: 568424 2 Difference: 32
廣告
資料結構
網路技術
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP