URAL 1110. Power

1110. Power

Time limit: 0.5 secondMemory limit: 64 MB

You are given the whole numbersN,MandY. Write a program that will find all whole numbersXin the interval [0,M 1] such thatXNmodM=Y.

Input

The input contains a single line withN,MandY(0<N<999, 1<M<999, 0<Y<999) separated with one space.

Output

Output all numbersXseparated with space on one line. The numbers must be written in ascending order. If no such numbers exist then output 1.

Sample

inputoutput

2 6 42 4

解析:直接很裸的幂取模运算。

AC代码:

#include <cstdio>int mod_pow(int x, int n, int m){int ans = 1;while(n–){ans = ans * x % m;}return ans;}int main(){int n, m, y, flag;while(scanf("%d%d%d", &n, &m, &y)==3){flag = 0;for(int i=0; i<m; i++){if(mod_pow(i, n, m) == y){flag = 1;printf("%d ", i);}}if(flag) puts("");else puts("-1");}return 0;}

,只知道心痛得滴血,都只为你。

URAL 1110. Power

相关文章:

你感兴趣的文章:

标签云: