mod_n(N,N):- member(R,[3,5]), N mod R=:=0, !. mod_n(_,0):-!. search(1000,Ans):-!,write(Ans). search(N,Ans):- mod_n(N,Add), Ans1 is Ans+Add, N1 is N+1, search(N1,Ans1). main1:-search(1,0).
fina(_,_,F,Sum):-F>=4000000,write(Sum),!. fina(A,B,F,Sum):-B1 is 2*A+3*B, A1 is F,F1 is A1+2*B1,Sum1 is Sum+F,fina(A1,B1,F1,Sum1).
soinn(1,N):-write(N),!. soinn(N,A):-0=:= N mod A,!,N1 is N/A,soinn(N1,A). soinn(N,A):-A1 is A+1,soinn(N,A1).
kaibunn(C):- between(100,999,N), between(100,N,M), C is N*M, numrev(C,0,C1),C=:=C1. main4:-findall(C,kaibunn(C),List),mymax(List,0,Max),write(Max).
calc([],[],Ans):-!,write(Ans). calc([X|Rest],[Y|Rest1],Ans):-Ans1 is Ans*(X^Y),calc(Rest,Rest1,Ans1). main5:-Powers=[4,2,1,1, 1, 1,1 ,1], Base =[2,3,5,7,11,13,17,19], calc(Base,Powers,1).
calc6(SumA,SumB,101):-!, Ans is SumB*SumB-SumA,write(Ans). calc6(SumA,SumB,N):- SumA1 is SumA+N*N, SumB1 is SumB+N, N1 is N+1, calc6(SumA1,SumB1,N1).
prime_check([X|Rest],N,[X|Re1],1):-N<X*X,!,append(Rest,[N],Re1). prime_check([X|Rest],N,[X|Rest],0):-0=:=N mod X,!. prime_check([X|Rest],N,[X|Result],Add):-prime_check(Rest,N,Result,Add). search7(_,N,10001):-!,N1 is N-1,write(N1). search7(PList,N,Count):- N1 is N+1, prime_check(PList,N,PList1,Add), Count1 is Count+Add, search7(PList1,N1,Count1).
calc8(N,Ans,Ans):-N<10000,!. calc8(N,Max,Result):-N1 is N mod 10,N2 is (N//10) mod 10,N3 is (N//100) mod 10, N4 is (N//1000) mod 10,N5 is (N//10000) mod 10, Temp is N1*N2*N3*N4*N5,(Max<Temp->Max1 is Temp;Max1 is Max),NN is N//10,calc8(NN,Max1,Result).
gcd(M,0,M):-!. gcd(M,N,Result):- N1 is M mod N, gcd(N,N1,Result). main9:- between(2,24,M), 0=:=500 mod M, between(1,500,R), 0=:=500 mod R, Sum is 500 //R, S is Sum // M, N is S-M, N<M, 0<N, gcd(M,N,Re), Re=:=1, 1=:=(M-N) mod 2, A is R*(M*M-N*N), B is R*2*M*N, C is R*(M*M+N*N), write([ans,A,B,C]).
create_nums(Num):- between(2,2000000,Num). prime_rest(_,[],[]):-!. prime_rest(P,[X|Rest],Result):-0=:=X mod P,!,prime_rest(P,Rest,Result). prime_rest(P,[X|Rest],[X|Result]):-prime_rest(P,Rest,Result). get_prime_list([P|Rest],PList):-P*P>2000000,!,sums(Rest,P,Sum1),sums(PList,Sum1,Sum2),write(Sum2). get_prime_list([P|Rest],PList):-prime_rest(P,Rest,Rest1), get_prime_list(Rest1,[P|PList]). sums([],Result,Result). sums([X|Rest],Sum,Result):-Sum1 is Sum+X,sums(Rest,Sum1,Result). main10:-findall(Num,create_nums(Num),NumList),get_prime_list(NumList,[]).
*1 m^2+n^2)+2mn+(m^2-n^2