|
|
back to boardCommon Board1110 Help please 2 days I suffer over this program, I can not understand that in any way that the checking system wants from me, nevertheless is correct at me deduces, bosh any. Prompt what not so. I have already got confused for 2 days. _________________________________________________ FUNCTION Power(Osnovanie:Integer; Stepen:Integer) :Integer; VAR i,a:Integer; BEGIN a:=1; for i:=1 to Stepen do a:=a*Osnovanie; Power:=a; END; VAR N,M,Y,i,f,j,r,q,j1:Integer; x:array[0..9999-1] of integer; BEGIN f:=0; Read(N,M,Y); for i:=0 to M-1 do if (power(i,n)) mod M = Y then begin f:=1; for j:=0 to M-1 do x[j]:=i; for j:=0 to M-1 do for j1:=j+1 to M-1 do if x[j]>=x[j1] then begin r:=x[j]; x[j]:=x[j1]; x[j1]:=r end; Write(x[j]:2); end; if f =0 then Write('-1'); END. ________________________________________________________ Re: 1110 This is the last my topic. Re: 1110 Thanks, has written on *java*, but jumps out crash. Tell please because of what it can be? __________________________________________________ import java.io.*; class Clas { static int binpow (int a, int n) { if (n == 0) return 1; if (n % 2 == 1) return binpow (a, n-1) * a; else { int b = binpow (a, n/2); return b * b; } } }
public class Cl { public static void main(String arqs[]) throws IOException { int M,Y,N,f,r,q; String m ,y ,n; f = 0; int x[] = new int[1000-1]; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n = br.readLine(); m = br.readLine(); y = br.readLine(); N = Integer.parseInt(n); M = Integer.parseInt(m); Y = Integer.parseInt(y); for (int i = 0; i<=M-1; i++) if(Clas.binpow(i,N) % M == Y) { f=1; for (int j = 0; j<=M-1; j++) x[j]=i; for (int j = 0; j<=M-1; j++) { for (int j1 = j+1; j1<=M-1; j1++) if (x[j]>=x[j1]) { r=x[j]; x[j]=x[j1]; x[j1]=r; } System.out.print(x[j]+" "); } if (f == 0) System.out.println("-1"); } } }
_________________________________________________________ Re: 1110 Help please last time Re: 1110 There is an overflow (999^999 in int). You should use that (a*b)%n == ((a%n)*(b%n))%n. Edited by author 03.01.2011 20:36 Re: 1110 Thanks.And it should where be inserted into my code tell please? Re: 1110 Well please prompt as to make, something does not leave at all. Here so can? _______________________________________________________ import java.io.*; class Clas { int binpow (int a, int n) { int b; if (n == 0) return 1; if (n % 2 == 1) return binpow (a, n-1) * a; else { b = binpow ((a*b)%n, ((a%n)*(b%n))%n); return b * b; } } } _______________________________________________________ Edited by author 04.01.2011 20:03 Edited by author 04.01.2011 20:03 Re: 1110 Try to think by yourself. Otherwise you won't get any experience in programming. I've said everything that is needed to solve it. Or do you think I'll post AC code here? Re: 1110 I cannot simply understand where it is necessary to insert this expression *_ ((a*b)%n == ((a%n)*(b%n))%n.)_*.Already all rearranged, does not leave, help please last time, fairly I speak I will not write more. Re: 1110 Alexey Dergunov [Samara SAU], help me please. |
|
|