Ответы пользователя по тегу Haskell
  • Хочу сравнить фрагмент кода на C и Haskell

    shedward
    @shedward
    Ну вообще лучше бы вы формулы предоставили а не программу на С, но если я правильно понял метод расчета то это будет похожее на:

    module Main where
    
    import Text.Printf
    
    idef i nn steps = 
    	1 - sum [ n*(n+1)**2 + i*(n+1) + j | j <- [0..nn], n <- [0..steps]]
    
    calcAndPrint i nn steps = do
    	let res = idef i nn steps
    	printf "%d %f" i res
    	return res
    
    defect k nn steps = 
    	maximum [ calcAndPrint i nn steps | i <- [nn- k+1 .. nn]]
    
    main = do
    	let defect_0 = ...
    	let defect_N = defect <k> <nn> <steps>
    	printf "defect of P_tau_LH=%f=%e\n" defect_0
    


    На хаскеле я писал довольно мало, поэтому может быть есть более лучший способ.
    Ответ написан
    1 комментарий