C++で奇数および偶数であるNの回転をカウントします
数Nが与えられます。目標は、奇数を作るNの回転と、偶数を作る回転を数えることです。数Nが123の場合、その回転は123、321、132になります。奇数の回転は123と321(2)で、偶数の回転は132(1)です。
例を挙げて理解しましょう。
入力 − n =54762
出力 −
奇数であるNの回転数は− 2
偶数であるNの回転数は− 3
説明 −回転は−
54762、25476、62547、76254、47625。
回転も3− 54762、25476、76254
奇数回転は2− 62547、47625
入力 − n =3571
出力
奇数であるNの回転数は-4です
偶数であるNの回転数は− 0
説明 −回転は−
3571、1357、7135、5713
回転も0−
奇数回転は4− 3571、1357、7135、5713
以下のプログラムで使用されているアプローチは次のとおりです
奇数または偶数は、奇数/偶数として単位桁を使用して確認できます。数値の回転中は、すべての桁が単位桁になります。そこで、数値を10で割り、単位の桁が偶数/奇数かどうかを確認し、それぞれのカウントを増やします。
-
数値を整数Nとします。
-
関数Even_Odd_rotation(int N)は、数値Nを取り、奇数回転と偶数回転のカウントを出力します。
-
初期カウントをEven_rotationおよびOdd_rotationとします。
-
do-whileループを使用すると、単位桁にvalue =N%10が使用されます。
-
値%2 ==0の場合は、Even_rotationをインクリメントし、それ以外の場合はOdd_rotationをインクリメントします
-
次の単位桁のNを10減らします。
-
Even_rotationを偶数のNの回転として出力します。
-
Odd_rotationを偶数のNの回転として出力します。
例
#include <bits/stdc++.h> using namespace std; void Even_Odd_rotation(int N){ int Even_rotation = 0; int Odd_rotation = 0; do{ int value = N % 10; if(value % 2 == 1) { Odd_rotation++; } else { Even_rotation++; } N = N / 10; } while(N != 0); cout<<"Count of rotations of N which are Odd are: "<<Odd_rotation; cout<<"\nCount of rotations of N which are Even are: "<<Even_rotation; } int main(){ int N = 341; Even_Odd_rotation(N); return 0; }
出力
上記のコードを実行すると、次の出力が生成されます-
Count of rotations of N which are Odd are: 2 Count of rotations of N which are Even are: 1
-
C++で4で割り切れる回転をカウントします
たくさん与えられます。目標は、4で割り切れるnumの回転をカウントすることです。 回転は何度も行うことができないので。 4で割り切れるプロパティを使用します。最後の2桁が4で割り切れる場合、数値は4で割り切れます。数値が1234の場合、回転は1234、4123、3412、2341になり、最後の2桁の12は4で割り切れます。 4で割り切れる。 例を挙げて理解しましょう。 入力 − num =15324 出力 −4で割り切れる回転数は次のとおりです。2 説明 −回転は− 15324, 41532, 24153, 32415, 53241 これらのうち、15324と41532は4で割
-
C++でソートおよびローテーションされたリンクリストのローテーションをカウントします
リンクリストが表示されます。リストは最初にソートされ、次にK個のノードでローテーションされます。目標は、Kの値を見つけることです。K個のノードだけ回転する入力としてリンクリストを以下に示す場合- それならオリジナルは-だったに違いない ここでKは2であることがわかります。入力リンクリストは、元のソートされたリンクリストの2ノードのローテーションです。 例を挙げて理解しましょう。 入力 −リスト:5→7→9→1→3 出力 リンクリストの要素は次のとおりです。5791 3 ソートおよびローテーションされたリンクリストのローテーション数は-3 説明 −元のソート済み