最初のn個の自然数からの2つのサブセットの合計間の最小差を見つけるC++プログラム
数nがあるとします。最初のn個の自然数を考えてみましょう。各要素が正確に1つのセットに属し、Aの要素の合計とBの要素の合計の絶対差が最小になるように、それらを2つのセットAとBに分割し、その差を見つける必要があります。
したがって、入力がn =5の場合、出力は1になります。これは、A ={1、3、4}およびB ={2、5}とすると、合計値が8と7になるためです。違いは1です。
ステップ
これを解決するには、次の手順に従います-
return (n * (n + 1) / 2) mod 2
例
理解を深めるために、次の実装を見てみましょう-
#include <bits/stdc++.h> using namespace std; int solve(int n) { return (n * (n + 1) / 2) % 2; } int main() { int n = 5; cout << solve(n) << endl; }
入力
5
出力
1
-
Pythonの2つのリストから2つの要素間の最小の違いを見つけるプログラム
L1とL2の2つのリストがあるとすると、L1の数値とL2の数値の差が最も小さいものを見つける必要があります。 したがって、入力がL1 =[2、7、4]、L2 =[16、10、11]の場合、最小の差は10-7 =3であるため、出力は3になります。 これを解決するには、次の手順に従います- リストL1を並べ替え、リストL2を並べ替えます ans:=無限大 i:=0、j:=0 i
-
Pythonで2つの数値のシフトされたテーブル間の最小の違いを見つける
=0。 したがって、入力がp=7およびq=17、r=6およびs=3の場合、出力は0になります。7の表=[7、14、21、28、35、42、49、 ...]および17のテーブル=[17、34、51、68、85、102、119、...]の場合、7のシフトされたテーブルは[13、20、27、34、41、48、55になります、...]および17のシフトされたテーブルは[20、37、54、71、88、105、121、...]になり、これらのシフトされたテーブルの2つの項の最小差は20-20=0になります。 これを解決するには、次の手順に従います- g:=(p、q)のgcd 違い:=|