B.美しい除数は
最近ルバは、彼女が美しい数字を呼び出し番号の特別な種類について学びました。番号は、そのバイナリ表現をk + 1個の連続したものから成るときに限り美しいと呼ばれ、その後の連続ゼロをKであり。
美しい数字のいくつかの例:
12(110)。
1102(610)。
11110002(12010)。
1111100002(49610)。
*(2K - 1) -数は(1 2K)に等しくなるように、いくつかの正の整数kが存在するときに限り、より正式には、番号が美しいです。
ルバは、整数nを持っている、と彼女はその最大の美しい除数を見つけたいです。彼女はそれを見つけるのに役立ちます!
入力
ルバが持っている番号-入力の唯一のラインは、一の番号n(105≤1≤N)を含みます。
出力
出力1つの番号-ルバの数の最大の美しい除数。答えが常に存在することは明らかです。
入力
3
出力
1
アイデアは:データ範囲を見ました。QAQは、水があまりにもテーブルを再生することができた===
ACコード:
1つの#include <ビット/ STDC ++ H> 2 3 使用して 名前空間STDを、 4 int型 ARR [] = { 1、6、28、120、496、2016、8128、32640、130816、523776 }。 5 INT メイン(){ 6 INT N。 7 CIN >> N。 8 用(int型 I = 9 ; I> = 0 ; i-- ){ 9 もし(ARR [I]> N) 10 続けます。 11 であれば(ARR [I] == N){ 12 のprintf(" %d個"、N)リターン 0 ; 13 } 14 であれば(N%ARR [I] == 0 ){ 15 COUT << ARR [I]。リターン 0 ; 16 } 17 } 18 リターン 0 。 19 }