fork download
  1. def f(a,c,e,as1)
  2. t=a
  3. c1=0
  4.  
  5. while t<=e
  6. as1<<[t,c1]
  7. t=t*c
  8. c1+=1
  9. end
  10. end
  11.  
  12. a,b,c,d,e=gets.chomp.split(" ").map{|e| e.to_i}
  13. as1=[]
  14. bs1=[]
  15. f(a,c,e,as1)
  16. f(b,d,e,bs1)
  17. ans=-1
  18. as1.each{|a1,c1|
  19. bs1.each{|b1,c2|
  20. if e==a1+b1 && (ans==-1 || ans>c1+c2) then
  21. ans=c1+c2
  22. end
  23. }
  24. }
  25. if ans==-1 then
  26. puts "No"
  27. else
  28. puts "Yes"
  29. puts ans
  30. end
Success #stdin #stdout 0.01s 8132KB
stdin
2 3 2 3 9
stdout
No