C++でa=cとb=dのように数を4つの部分に分割する方法の数を見つけます
数nがあるとします。 a =c、b =dとなるように、数を部分(a、b、c、d)に分割する方法をいくつか見つける必要があります。したがって、数値が20の場合、出力は4になります。[1、1、9、9]、[2、2、8、8]、[3、3、7、7]、および[4、4、6 、6]
したがって、Nが奇数の場合、答えは0になります。数値が4で割り切れる場合、答えはn / 4 –1になります。それ以外の場合はn/4になります。
例
#include <iostream> using namespace std; int countPossiblity(int num) { if (num % 2 == 1) return 0; else if (num % 4 == 0) return num / 4 - 1; else return num / 4; } int main() { int n = 20; cout << "Number of possibilities: " << countPossiblity(n); }
出力
Number of possibilities: 4
-
C++を使用して人々をペアリングする方法の数を見つける
n −現在、各人の人数が1人またはペアで存在する可能性があるという問題を解決するには、これらの人をペアにする方法の総数を見つける必要があります。 Input : 3 Output: 4 Explanation : [ {1}, {2}, {3},], [{1, 2}, {3}], [{1}, {2, 3}], [{1, 3}, {2}] these four ways are the only ways we can pa up these 3 people. Input : 6 Output : 76 解決策を見つけるためのアプローチ このアプローチでは、 Young Tablea
-
C++を使用してサッカーの五角形と六角形の数を見つける
ご存知のように、五角形と六角形はサッカーの重要な部分です。これらの形状は、完全な球形を形成するためのパズルのように組み合わされます。ですから、ここにサッカーがあり、六角形と五角形を見つける必要があります。 問題を簡単に解決するためにオイラー標数を使用します。オイラー標数は、位相空間の特定の形状または構造を記述するために機能する数値です。したがって、サッカーの五角形と六角形の数を計算するために使用できます。 オイラー標数- chi(S) −比表面積Sの整数 F −顔 G −グラフ V −頂点 E −エッジはSに埋め込まれています。 V - E + F