Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

Nの最初のX桁と最後のX桁の絶対差は?


ここでは、数値Nの最初と最後のX桁の違いを取得する方法を説明します。数値とXが示されています。この問題を解決するには、数値の長さを見つけてから、モジュラス演算子を使用して最後のx桁を切り取る必要があります。その後、最初のx桁を除くすべての桁を数字から切り取ります。次に、差を取得し、結果を返します。数値をN=568424とします。Xは2なので、最初の2桁は56で、最後の2桁は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

  1. LinuxとGNU/Linuxの違い

    Linuxに手を出している人でさえ、ほとんどの人はLinux、GNU / Linux、GNUツールチェーンの違いを完全には理解していませんが、特定の種類のソフトウェアの依存関係について考えるときは違いが重要です。 LinuxとGNU Linuxは、Unixで始まった一連の開発に続くものです。そのため、Linuxの多くは、Unixコードのように設計されており、Unixコードが含まれている場合もあります。 ただし、GNUは、その作成者であるRichard Stallmanによって、UnixやLinuxと同じコードベースやライセンス基準を使用せずに、完全に無料で独立したオペレーティングシステムに

  2. DirectX11とDirectX12の違いは何ですか?

    DirectXは、マルチメディアコンテンツをレンダリングし、グラフィカルハードウェアと通信するためにソフトウェアによって使用されるAPIまたはアプリケーションプログラミングインターフェイスのコレクションです。 DirectXの主要コンポーネントAPIであるDirect3Dは、ソフトウェアとグラフィックスハードウェア間の通信を処理します。すべてのハードウェアが異なるため、関数と呼び出しの標準化されたライブラリを使用してグラフィックカードと通信すると、ゲーム開発がスピードアップします。これはハードウェアアブストラクションと呼ばれ、APIの主な仕事です。 車について考えてみましょう。1台の車を運転