タイトル説明
ABC + BCC = 532:A、Bを設定し、Cは0と9の間の数字、ABC、BCC 2つの3桁、および持っています。値のC、A、B全ての条件を満足するように求めています。
説明を入力します。
任意の入力なしと題され。
出力説明:
すべての出力は、A、B、C条件を満たす対象値下さい。A、B、Cの間のスペースで区切られています。行ごとの各出力。
問題解決のためのアイデア
まず、ブルートフォース
直接ループを通る資格のA、B、Cを見つけるために、
なお、初期条件、A、B、それぞれ、数百の桁として、トラバースからそう。
1つの#include <stdio.hの> 2 INT メイン() 3 { 4 int型A、B、C。 5 のための(int型 A = 1 ; <= 9 ; ++ ) 6 のための(INT B = 1 ; <= B 9、B ++ ) 7 用(INT C = 0 ; <= C 9、C ++ ) 8 であれば(* 100 + B * 10 + C + B * 100 + C * 10 + C == 532 ) 9 のprintf(" %D%D%D " 、A、B、C)。 10 11 }
私は問題ではなく、暴力的な使用方法が、問題の特性の使用を解決するときに、第2、直接答えを計算します。
ABC + BCC = 532
一桁から数えて、C = 1、C = 6または多分専用ケース
ビット演算は別に、横断する必要はありませ議論しました!直接的な負の場合、C = 6、即ち、算出された値A、B、Cの。