天天看點

hdu 1211

這題就是 要你找出一個ASCII 的值x使得  :  x^e%n==num(目前輸入的數,e條件已給出)

zsd:

1: ASCII0-255可以枚舉

2:

hdu 1211

  =a^11   11=1011

1

2

3

4

5

6

7

8

9

10

11

12

<code>int</code> <code>pow2(</code><code>int</code>

<code>a,</code><code>int</code>

<code>b )</code>

<code>{</code>

<code>    </code><code>int</code>

<code>r = 1, base = a;</code>

<code>    </code><code>while</code><code>( b != 0 )</code>

<code>    </code><code>{</code>

<code>        </code><code>if</code><code>( b % 2 )</code>

<code>            </code><code>r *= base;</code>

<code>        </code><code>base *= base; </code><code>//a^x x=1 2 4 8 16  也就是2^x</code>

<code>        </code><code>b /= 2;</code>

<code>    </code><code>}</code>

<code>    </code><code>return</code>

<code>r;</code>

<code>}</code>

 3:(x*y)%d=(x%d)*(y%d)

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

<code>#include&lt;iostream&gt;</code>

<code>using</code>

<code>namespace</code> <code>std;</code>

<code>bool</code>

<code>funtion(</code><code>int</code>

<code>x,</code><code>int</code> <code>e,</code><code>int</code> <code>n,</code><code>int</code> <code>num)</code>

<code>{</code><code>// m^n % k</code>

<code>   </code><code>int</code>

<code>b = 1;</code>

<code>    </code><code>while</code>

<code>(e &gt; 0)</code>

<code>          </code><code>if</code>

<code>(e &amp; 1)</code>

<code>             </code><code>b = (b*x)%n;</code>

<code>          </code><code>e = e &gt;&gt; 1 ;</code>

<code>          </code><code>x = (x*x)%n;</code>

<code>    </code><code>if</code><code>(b==num)</code><code>return</code>

<code>true</code><code>;</code>

<code>false</code><code>;</code>

<code>int</code>

<code>main()</code>

<code>p,q,e,l,c,n;</code>

<code>    </code><code>while</code><code>(</code><code>scanf</code><code>(</code><code>"%d%d%d%d"</code><code>,&amp;p,&amp;q,&amp;e,&amp;l)!=EOF)</code>

<code>        </code><code>n=p*q;</code>

<code>        </code><code>while</code><code>(l--)</code>

<code>        </code><code>{</code>

<code>            </code><code>scanf</code><code>(</code><code>"%d"</code><code>,&amp;c);</code>

<code>            </code><code>for</code><code>(</code><code>int</code>

<code>i=0;i&lt;=255;i++)</code>

<code>                </code><code>if</code><code>(funtion(i,e,n,c))</code>

<code>                </code><code>{</code>

<code>                    </code><code>printf</code><code>(</code><code>"%c"</code><code>,i);</code>

<code>                    </code><code>break</code><code>;</code>

<code>                </code><code>}</code>

<code>        </code><code>}</code>

<code>        </code><code>printf</code><code>(</code><code>"\n"</code><code>);</code>

<code>0;</code>

 4:貌似沒有用到模線性方程