Ở đây chúng ta sẽ xem làm thế nào để có được sự khác biệt giữa chữ số X đầu tiên và cuối cùng của một số N. Số và X đã cho. Để giải quyết vấn đề này, chúng ta phải tìm độ dài của số, sau đó cắt x chữ số cuối cùng bằng cách sử dụng toán tử mô đun. Sau đó cắt tất cả các chữ số từ số ngoại trừ x chữ số đầu tiên. Sau đó nhận chênh lệch và trả về kết quả. Gọi số là N =568424. X là 2 nên hai chữ số đầu là 56 và hai chữ số cuối là 24. Hiệu là (56 - 24) =32.
Thuật toán
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
Ví dụ
#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); }
Đầu ra
Enter number and number of digits from first and last: 568424 2 Difference: 32