যৌগিক সুদ ... উইজার্ড অর্থের সাথে


15

গ্রিংটস কেবল একটি ভল্ট নয়, একটি নামী আর্থিক প্রতিষ্ঠান এবং উইজার্ডদেরও loansণ প্রয়োজন। যেহেতু আপনি গ্রিনগটস গাবলিন্স দ্বারা ক্ষতিগ্রস্থ হতে চান না, তাই আপনি সিদ্ধান্ত নিয়েছেন যে আগ্রহের গণনা করার জন্য একটি প্রোগ্রাম লেখা ভাল ধারণা হবে। সুদের পরিমাণ বাত্সরিকভাবেই বাড়ানো হয়।

আপনার কাজটি হ'ল মূল, সুদের হার এবং সময় (পুরো বছর) প্রদত্ত সুদের পরে মোট ণী পরিমাণ গণনা করা, উইজার্ডের অর্থের পুরো সংখ্যায় কাজ করে নিকটতম পুরো নটকে গোল করে। সিলভার সিকলে 29 টি ব্রোঞ্জ বাদাম এবং একটি সোনার গ্যালিয়নে 17 টি সিক্লস রয়েছে।

উদাহরণ

Loan taken out:
 23 Knuts
 16 Sickles
103 Galleons
@ 7.250%
For 3 years

Total owed after interest:
 24 Knuts
  4 Sickles
128 Galleons

নোট এবং বিধি

  • ইনপুট এবং আউটপুট যে কোনও সুবিধাজনক বিন্যাসে থাকতে পারে। আপনাকে অবশ্যই নাটস, সিক্লস, গ্যালিয়ন্স, সুদের হার এবং সময় গ্রহণ করতে হবে। সুদের হার ব্যতীত সম্পূর্ণ সংখ্যা হবে। সুদের হার 0.125% এর ইনক্রিমেন্টে রয়েছে।
  • ইনপুট অর্থটি প্রৌ be় হওয়ার গ্যারান্টিযুক্ত নয় (যেমন আপনার কাছে 29 বা আরও বেশি বাদাম এবং 17 বা তার বেশি সিক্লস থাকতে পারে))
  • আউটপুট অবশ্যই প্রমিত উপস্থাপনা হতে হবে। (অর্থাত্ ২৯ টিরও কম বাদাম এবং ১ S টি সিকল এর চেয়ে কম)
  • স্বেচ্ছাসেবীর নির্ভুল গণনার সাথে তুলনা করাতে মোট গ্যালিয়নের উপরে মোট বকেয়া প্রতি বছর 1 টি নটের মধ্যে নির্ভুল হওয়া উচিত।
    • আপনি আগ্রহের প্রতি বছর পরে বা শুধুমাত্র শেষে যেতে পারে। নির্ভুলতার পরীক্ষার জন্য রেফারেন্স গণনাগুলি এটিকে বিবেচনায় নিতে পারে।

শুভ গল্ফিং!


4
আমরা কি শতাংশের পরিবর্তে দশমিক হিসাবে সুদের হার নিতে পারি? (যেমন, 0.0725পরিবর্তে 7.25)
শেগি

@ শেগি আমি এটিও জানতে চাই
সেনোকক্স ১৩

যদি exactlyণটি হুবহু 1 নট হয়, এবং সুদের প্রতি বছর 99% হয়, এবং শব্দটি 1 বছর হয়, ফলাফলটি কি "1 নট" বা "2 বাদাম" হওয়া উচিত?
চ্যাস ব্রাউন

অন্য কথায়, দয়া করে এই শব্দটির গাণিতিক অর্থটি স্পষ্ট করে rounding down
বলুন

1
@ চ্যাসব্রাউন: 1 নট নিকটস্থ পুরো নটকে কাটা / মেঝে ফাংশন।
গরুর মাংসের মাংস

উত্তর:


6

আর , 70 62 বাইট

function(d,i,y)(x=d%*%(a=c(1,29,493))*(1+i)^y)%/%a%%c(29,17,x)

এটি অনলাইন চেষ্টা করুন!

ডি হিসাবে ইনপুট নেয়: নট, সিসেল, গ্যালিয়নে জমা; i: দশমিক হিসাবে সুদের হার; y: বছর। গিরি, কাস্তে, গ্যালিয়নে আউটপুট চূড়ান্ত আমানত। কিছু বাইট (এবং কীভাবে 1e99 এ মোড়ানোর প্রয়োজনীয়তা এড়াতে হবে তা নির্দেশ করার জন্য) ম্যাট্রিক্সের গুণকে ব্যবহার করার জন্য @ জিউস্প্পকে ধন্যবাদ।


আমি আর জানি না; তাদের জড়িয়ে জড়িয়ে কী জিতবে?
dfeuer

@ ডিফিউয়ারগুলি তাদের 1 ম 99 তে নেওয়া হয়েছে, সুতরাং যদি আপনার গ্যালোনগুলি উচ্চতর হয়ে যায় তবে তারা শূন্যে নেমে যাবে
নিক কেনেডি

আমি যেটা ভাবছি তা হ'ল আপনি তাদের 1 ম 99 মডেল করে কী অর্জন করেছেন।
dfeuer

বেশিরভাগ আর ফাংশন ভেক্টরাইজড। এই ক্ষেত্রে, আমি %%ফাংশনটির মাধ্যমে আউটপুটটি পাস করছি , যা মোড। আদর্শভাবে, আমি গ্যালোনগুলি একা ছেড়ে যেতে চাই, তবে একটি সংখ্যক মোড ইনফিনিটি নাএন ফেরায়, এবং তাই আমি সবেমাত্র একটি বড় সংখ্যক (তবে একটি যা বাইটে ছোট) ব্যবহার করেছি। আমি যে বিকল্পগুলি নিয়ে এসেছি সেগুলি দীর্ঘতর (যেমন [ tio.run/##JYrLCsIwEE// অনলাইনে চেষ্টা করে দেখুন!])
নিক কেনেডি

@ নিক কেনেডি আপনিও করতে পারেন 9e99... এছাড়াও, আপনি 63৩ বাইটে
জিউসেপ্পে

4

পাইথন 3.8 (প্রাক রিলিজ) , 75 74 71 বাইট

-1 বাইটস @ এম্বোডিমেন্টফআইজেনিয়াসকে
ধন্যবাদ -3 বাইট @xnor ধন্যবাদ

এটি নটস, সিক্লস এবং গ্যালিয়নকে ইনট হিসাবে গ্রহণ করে, একটি ফ্লোট হিসাবে সুদ (দশমিক নয়, শতাংশ নয়) এবং বছরগুলি ইনট হিসাবে গ্রহণ করে। এটি যথাক্রমে বাদাম, সিকলস এবং গ্যালিয়নের আগ্রহের পরে সংখ্যাযুক্ত একটি টুপল ফেরত দেয়।

lambda K,S,G,R,Y:((k:=int((K+G*493+S*29)*(1+R)**Y))%29,k//29%17,k//493)

ব্যবহার:

>>> print(I(23,16,103,0.0725,3))
(24, 4, 128)

এটি অনলাইন চেষ্টা করুন!


ভালো বল ধরা. উত্তর আপডেট করা হচ্ছে
সেনক্স 13

প্রশ্নটি বলে operating in whole denominations of wizard money, rounding down। আমি rounding downশিরোনামটি chop off everything after the decimal point.ব্যবহার করা নিশ্চিতভাবে কিছু করা সহজ পদ্ধতির মতো বলে মনে করি। আমি ভবিষ্যতের পোস্টগুলির জন্য এটি করব, ধন্যবাদ
senox13

এটি "রাউন্ডিং" এর চেয়ে অনেক বেশি "ছাঁটাই" এর মতো শোনাচ্ছে; তবে আমি স্পষ্টির জন্য ওপিকে জিজ্ঞাসা করেছি (কারণ পিপিসিজিতে এখানে নিট-পিকিং হল গেমের নাম :))।
চ্যাস ব্রাউন

আমি আপনার সাথে একমত নই, এটি কেবলমাত্র আমি বরাবর গোল করার জন্য সর্বদা ব্যবহার করে দেখলাম, কারণ আপনি সর্বদা আপনার ফলাফলের নীচে পূর্ণসংখ্যাকে গোল করে যান। অন্যথায় এটি কেবল সাধারণ বৃত্তাকার। ও.পি. সিদ্ধান্ত নিতে দেওয়া একটি ভাল ধারণা
senox13

অবগতির জন্য, একটি দরকারী কৌতুক Tio উপর বেনামী ফাংশন testable লাগাতে করতে অনুগ্রহ করে I\=মত হেডারের মধ্যে এই । এছাড়াও, এটি k//29//17হতে পারে মনে হচ্ছে k//493
xnor

3

এপিএল + উইন, 37 28 26 বাইট

⌊a⊤((a←0 17 29)⊥⎕)×(1+⎕)*⎕

লিটারোসিস্টকে ধন্যবাদ 2 বাইট সংরক্ষণ করেছে

এটি অনলাইন চেষ্টা করুন! সৌজন্যে ডায়ালগ ক্লাসিক

ব্যাখ্যা:

(1+⎕)*⎕ prompts for years followed by decimal interest rate and calculates
         compounding multiplier

((a←0 17 29)⊥⎕) prompts for Galleons, Sickles and Knuts and converts to Knuts

⌊a⊤ converts back to Galleons, Sickles and Knuts and floor 
    after applying compound interest. 

⌊a⊤(⎕⊥⍨a←0 17 29)×⎕*⍨1+⎕24 এর জন্য?
লাইটোসিয়াস্ত

@ লিরিটোসিস্ট ধন্যবাদ তবে আমি ভয় করি আমার প্রাচীন এপিএল + ডব্লিউআইএন ইন্টারপ্রেটারের ⍨ ফাংশন না রয়েছে। এটিকে আপনার নিজের এপিএল সমাধান হিসাবে জমা দিন।
গ্রাহাম

@ লিরিটোসিয়াস আবারও ধন্যবাদ আমি অ্যাসাইনমেন্টের ফলে 2 বাইট নিয়েছি।
গ্রাহাম

3

পার্ল 6 , 47 বাইট

((1+*)*** *(*Z*1,29,493).sum+|0).polymod(29,17)

এটি অনলাইন চেষ্টা করুন!

আমি আশ্চর্য হয়েছি আমি এটিকে কোনও বেনামে যে লাম্বদা পেয়েছি তা পেতে পেরেছি! বিশেষত যে অংশটি এটি *অন্য কোনও কিছুর চেয়ে বেশি। হিসাবে ইনপুট লাগেinterest rate (e.g. 0.0725), years, [Knuts, Sickles, Galleons] এবং একই ক্রমে মুদ্রার একটি তালিকা প্রদান করে।

ব্যাখ্যা:

 (1+*)           # Add one to the interest rate
      ***        # Raise to the power of the year
          *      # And multiply by
           (*Z*1,29,493).sum      # The number of Knuts in the input
                            +|0   # And floor it
(                              ).polymod(29,17)   # Get the modulos after divmoding by 29 and 17

আমি অবাক হয়েছি যে আপনি নটস / সিকলস / গ্যালিয়নের সংখ্যাও জলীয়দের সাথে মানিয়ে নেওয়ার কোনও উপায় নিয়ে আসেন নি। তারপরে এটি ঠিক
হ'ল

@ গুইফা দ্য ওয়েটভার্স ইনপুটস, সুতরাং তাদের মধ্যে কেবলমাত্র 3 টি থাকতে পারে (যদিও আমি মুদ্রার ইনপুটটিকে আরও কিছু *গুলি বাইট করতে পারি তবে আরও বেশি বাইট)। বাকি *গুলি হ'ল গুণ ( *) এবং সূচকগুলি ( **)
জো কিং

আমি বোঝাতে চাইছি আপনি যদি তাদের মধ্যে রূপান্তর হার (২৯/১17 নম্বর) পেয়ে থাকেন তবে। তবে অবশ্যই এটি একটি রসিকতা ছিল কারণ আপনার এই সংখ্যাগুলি একাধিকবার ব্যবহার করা দরকার। দুঃখিত যদি আমার
রসিকতাটি

2

জেলি , 29 বাইট

“¢×ø‘©×\
÷ȷ2‘*⁵×÷¢S×¢d®U1¦Ṫ€Ḟ

একটি পূর্ণ প্রোগ্রাম গ্রহণ আর্গুমেন্ট: rate; [Galleons, Sickles, Knuts]; years
প্রিন্ট [Galleons, Sickles, Knuts]

এটি অনলাইন চেষ্টা করুন!

পুরো মেয়াদ শেষে মেঝে।
÷ȷ2যদি আমরা হারটি শতাংশের চেয়ে অনুপাত হিসাবে গ্রহণ করতে পারি তবে তা সরানো যেতে পারে।

কিভাবে?

“¢×ø‘©×\ - Link 1 multipliers: no arguments
“¢×ø‘    - list of code-age indices = [1,17,29]
     ©   - (copy this to the register for later use)
       \ - reduce by:
      ×  -   multiplication  = [1,17,493]

÷ȷ2‘*⁵×÷¢S×¢d®U1¦Ṫ€Ḟ - Main Link
 ȷ2                  - 10^2 = 100
÷                    - divide = rate/100
   ‘                 - increment = 1+rate/100
     ⁵               - 5th command line argument (3rd input) = years
    *                - exponentiate = (1+rate/100)^years --i.e. multiplicand
      ×              - multiply (by the borrowed amounts)
        ¢            - call last Link as a nilad
       ÷             - divide (all amounts in Galleons)
         S           - sum (total Galleons owed)
           ¢         - call last Link as a nilad
          ×          - multiply (total owed in each of Galleons, Sickles, Knuts)
             ®       - recall from register = [1,17,29]
            d        - divmod (vectorises) = [[G/1, G%1], [S/17, S^17], [K/17, K%17]]
              U1¦    - reverse first one = [[G%1, G/1], [S/17, S%17], [K/17, K%17]]
                 Ṫ€  - tail €ach = [G/1, S%17, K%17]
                   Ḟ - floor (vectorises)

2

ইন্টেল 8087 এফপিইউ সমাবেশ, 86 বাইট

d9e8 d906 7f01 dec1 8b0e 8301 d9e8 d8c9 e2fc df06 7901 df06 8701 df06
7b01 df06 8501 df06 7d01 dec9 dec1 dec9 dec1 dec9 9bd9 2e89 01df 0687
01df 0685 01d9 c1de c9d9 c2d9 f8d8 f2df 1e7b 01d8 fadf 1e7d 01d9 c9d9
f8df 1e79 01

জমায়েত এবং নথিভুক্ত:

; calculate P+I of loan from wizard
; input:
;   G: number of Galleons (mem16)
;   S: number of Sickles (mem16)
;   K: number of Knuts (mem16)
;   R: interest rate (float)
;   T: time in years (mem16)
;   GS: Galleons to Sickles exchange rate (mem16)
;   SK: Sickles to Knuts exchange rate (mem16)
; output:
;   G: number of Galleons (mem16)
;   S: number of Sickles (mem16)
;   K: number of Knuts (mem16)
WIZ_INT_CALC    MACRO   G, S, K, R, T, GS, SK
                LOCAL   LOOP_EXP
                    ; - calculate interet rate factor
    FLD1            ; load 1
    FLD   R         ; load interest rate
    FADD            ; ST = rate + 1
    MOV   CX, T     ; Exponent is count for loop
    FLD1            ; load 1 into ST as initial exponent value
LOOP_EXP:           ; loop calculate exponent
    FMUL  ST,ST(1)  ; multiply ST = ST * ST(1)
    LOOP  LOOP_EXP
                    ; - convert demonimations to Knuts
    FILD  K         ; load existing Knuts
    FILD  SK        ; load Sickles to Knuts rate 
    FILD  S         ; load existing Sickles
    FILD  GS        ; load Galleons-to-Sickles exchange rate
    FILD  G         ; load existing Galleons
    FMUL            ; multiply galleons to get sickles
    FADD            ; add existing sickles
    FMUL            ; multiply sickles to get knuts
    FADD            ; add existing knuts
    FMUL            ; calculate P+I (P in Knuts * Interest factor)
                    ; - redistribute demonimations to canonical form
    FLDCW  FRD      ; put FPU in round-down mode
    FILD   SK       ; load Sickles to Knuts rate
    FILD   GS       ; load Galleons-to-Sickles exchange rate
    FLD    ST(1)    ; copy Galleons-to-Sickles exchange rate to stack for later
    FMUL            ; multiply to get Galleons-to-Knuts rate
    FLD    ST(2)    ; push original total Knuts from ST(2) into ST (lost by FPREM)
    FPREM           ; get remainder
    FDIV   ST,ST(2) ; divide remainder to get number of Sickles
    FISTP  S        ; store Sickles to S
    FDIVR  ST,ST(2) ; divide to get number of Galleons
    FISTP  G        ; store Galleons to G
    FXCH            ; swap ST, ST(1) for FPREM
    FPREM           ; get remainder to get number of Knuts
    FISTP  K        ; store Knuts to K
        ENDM

ম্যাক্রো (মূলত একটি ফাংশন) হিসাবে প্রয়োগ করা হয়েছে, এটি গণনার জন্য কেবলমাত্র ইন্টেল 80x87 এফপিইউ / গণিত সহ প্রসেসর ব্যবহার করে অ-ওএস-নির্দিষ্ট মেশিন-কোড।

আউটপুট সহ পরীক্ষার প্রোগ্রাম উদাহরণ:

    FINIT           ; reset FPU

    WIZ_INT_CALC    G,S,K,R,T,GS,SK     ; do the "Wizardy"

    MOV  AX, K      ; display Knuts
    CALL OUTDEC     ; generic decimal output routine
    CALL NL         ; CRLF

    MOV  AX, S      ; display Sickles
    CALL OUTDEC     ; generic decimal output routine
    CALL NL         ; CRLF

    MOV  AX, G      ; display Galleons
    CALL OUTDEC     ; generic decimal output routine
    CALL NL         ; CRLF

    RET             ; return to DOS

K   DW  23          ; initial Kunts
S   DW  16          ; initial Sickles
G   DW  103         ; initial Galleons
R   DD  0.0725      ; interest rate
T   DW  3           ; time (years)
GS  DW  17          ; Galleons to Sickles exchange rate
SK  DW  29          ; Sickles to Knuts exchange rate
FRD DW  177FH       ; 8087 control word to round down

আউটপুট

এখানে চিত্র বর্ণনা লিখুন



1

হাস্কেল , 73 বাইট

(g#s)k r n|(x,y)<-truncate((493*g+29*s+k)*(1+r)^n)%29=(x%17,y)
(%)=divMod

এটি অনলাইন চেষ্টা করুন!

দুই লাইনের জন্য লাইকোনিকে ধন্যবাদ।

নোংরা কৌশল: ইনপুটটিতে কয়েনের সংখ্যা ভাসমান বিন্দু ( Double), যখন আউটপুটে কয়েনের সংখ্যা অবিচ্ছেদ্য ( Integer)। ট্রিপলে চ্যাপ্টা ((Galleons, Sickles), Knotts)হওয়া এড়াতে ফলাফলটি নেস্টেড জুটি ।

ব্যাখ্যা

-- Define a binary operator # that
-- takes the number of Galleons
-- and Slivers and produces a
-- function taking the number of
-- Knots, the rate, and the
-- number of years and producing
-- the result.
(g#s) k r n
   -- Calculate the initial value
   -- in Knotts, calculate the
   -- final value in Knotts,
   -- and divide to get the number
   -- of Galleons and the
   -- remainder.
  |(x,y)<-truncate((493*g+29*s+k)*(1+r)^n)%29
  -- Calculate the number of Slivers
  -- and remaining Knotts.
  =(x%17,y)
(%)=divMod

1
(truncate$ ... )-> truncate( ... )এবং এর (g#s)k r nপরিবর্তে দুটি বাইট সংরক্ষণ করুন c g s k r n
লাইকোনি

@ লাইকনি, অনেক ধন্যবাদ!
dfeuer

@ লাইকোনি, আমি যদি সময় পেয়ে থাকেন তবে আপনি কোডগল্ফ.স্ট্যাকেক্সেঞ্জার.কম / সেকশনস / 575960 /… এ আমাকে কিছুটা বাইট খুঁজে পেতে পারলে আমি সত্যিই প্রশংসা করব ।
ডিফিউয়ার

1
সময় পেলে আমি এটি খতিয়ে দেখব। এদিকে, আমি আপনাকে আমাদের হ্যাডকেল চ্যাট রুম অফ ম্যানডস অ্যান্ড মেন এবং আপনাকে এই প্রশ্নটি করতে পারি যা আপনি সম্ভবত আপনার আলিঙ্গন / জিএইচসি বহুবিবাহগুলি উপভোগ করতে পারেন।
লাইকোনি


1

টিআই-বেসিক (টিআই -৪৪), 96 90 বাইট

:SetUpEditor C:Ans→∟C:∟C(1)+29∟C(2)+493∟C(3)→T:T(1+∟C(4))^∟C(5)→T:remainder(iPart(T),493→R:{remainder(R,29),iPart(R/29),iPart(T/493)}

ইনপুটটি হ'ল Ans5 টি আইটেম সহ একটি তালিকা: নটস, সিক্লস, গ্যালিয়ন্স, সুদ (দশমিক) এবং সময় (বছর)।
আউটপুট আছেAns এবং স্বয়ংক্রিয়ভাবে আউট ছাপা হয় যখন প্রোগ্রাম সমাপ্ত হবে।

আন golfed:

:SetUpEditor C 
:Ans→∟C
:∟C(1)+29∟C(2)+493∟C(3)→T
:T(1+∟C(4))^∟C(5)→T
:remainder(iPart(T),493→R
:{remainder(R,29),iPart(R/29),iPart(T/493)}

উদাহরণ:

{32,2,5,0.05,5}
       {32 2 5 .05 5}
prgmCDGF1
            {12 10 6}

ব্যাখ্যা:

:SetUpEditor C
:Ans→∟C

একটি নতুন তালিকা ∟Cতৈরি করা হয় এবং এতে Ansসঞ্চিত থাকে।

:∟C(1)+29∟C(2)+493∟C(3)→T

নাটস, সিক্লস এবং গ্যালিয়নগুলি বাদামে রূপান্তরিত হয় এবং এতে সঞ্চিত হয় T

:T(1+∟C(4))^∟C(5)→T

নটসের পরিমাণ নেয় এবং এতে যৌগিক সুদের প্রয়োগ করে।
আগ্রহ এখানে গণনা করা হয়।

:remainder(iPart(T),493→R

স্টোর আমি nteger পার্ট এর Tমধ্যে মডিউল 493 R। বাইট গণনা সংক্ষিপ্ত করতে ব্যবহৃত হয়।

:{remainder(R,29),iPart(R/29),iPart(T/493)}

3 টি আইটেম (নটস, সিক্লস এবং গ্যালিয়ন্স) সহ একটি তালিকা মূল্যায়ন করে। তালিকাটি স্বয়ংক্রিয়ভাবে সংরক্ষণ করা হয় Ans


নোট: বাইট গণনা বাইট গণনা দেওয়া গ্রহণ করে মূল্যায়ন করা হয় [MEM][2][7] (র্যাম প্রোগ্রাম তালিকা) এবং প্রোগ্রাম নামে অক্ষর এবং একটি অতিরিক্ত 8 প্রোগ্রামের জন্য ব্যবহার করা বাইট পরিমাণ বিয়োগ:

103 - 5 - 8 = 90 বাইট


0

কে, 46 বাইট

c:1000 17 29
t:{c\:{z(y*)/x}[c/:x;1+y%100;z]}

c বেস-রূপান্তর জন্য তালিকা সংরক্ষণ করুন

t মোট পরিমাণ গণনা করে এমন ফাংশন

উদাহরণ ব্যবহার করুন:

t[103 16 23;7.25;3]

লিখেছেন (128;4;24.29209)

ব্যাখ্যা:

  • c/:x তালিকায় (গ্যালিয়ন; সিকেল; নট) কটে রূপান্তর করুন

  • 1+y%100 সুদের হার গণনা করুন (7.25% হারের জন্য 1.0725 উদাহরণস্বরূপ)

  • ল্যাম্বদা {z(y*)\x}কাজটি করে: 3 বার পুনরাবৃত্তি করে, পূর্ণসংখ্যার * প্রধান প্রয়োগ করে এবং চূড়ান্ত প্রধানটি দেয়।

  • c\: গ্যালিয়ন, সিকেল, বাদাম থেকে বাদাম জেনারেট করে

দ্রষ্টব্য- আপনার যদি কোনও নাম-ফাংশন প্রয়োজন না হয় তবে আমরা 2 বাইট সংরক্ষণ করে ল্যাম্বডা ব্যবহার করতে পারি {c\:{z(y*)/x}[c/:x;1+y%100;z]}inputArgs


0

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 86 বাইট

(a,b,c)=>((k=(int)((a.a*493+a.b*29+a.c)*Math.Pow(1+b,c)))/493,(k%=493)/29,k%29);int k;

বাদাম, কর্সেল এবং গ্যালিয়নের প্রতিনিধিত্বকারী 3 টি মান এবং সুদের হারকে দ্বিগুণ (শতাংশ নয়) হিসাবে উপস্থাপন করে একটি নামযুক্ত টুপল হিসাবে আউটআউট। আমি সত্যিই চাই সি # এর এক্সপোজনেশন অপারেটর থাকুক। ম্যাথ.প্যাও অনেক দীর্ঘ :(

এটি অনলাইন চেষ্টা করুন!


0

ব্যাচ, 171 বাইট

@set i=%4
@set/af=0,i=8*%i:.=,f=%,f*=8
@set/ai+=%f:~,1%,k=%1*493+%2*29+%3
@for /l %%y in (1,1,%5)do @set/ak+=k*i/800
@set/ag=k/493,s=k/29%%17,k%%=29
@echo %g% %s% %k%

গ্যালিয়োনস, সিক্লস, নটস, সুদ, বছরগুলি ক্রমে কমান্ড-লাইন আর্গুমেন্ট হিসাবে ইনপুট নেয়। আগ্রহ একটি শতাংশ তবে% চিহ্ন ছাড়াই প্রকাশ করা হয়। প্রতি বছর পরে কাটা। আউটপুট গ্যালিয়োনস, সিক্লস, নটস ক্রমযুক্ত। কমপক্ষে 5000 গ্যালিয়ন সমর্থন করে। ব্যাখ্যা:

@set i=%4
@set/af=0,i=8*%i:.=,f=%,f*=8

ব্যাচে কেবল পূর্ণসংখ্যার গাণিতিক থাকে। ভাগ্যক্রমে, সুদের হার সর্বদা একাধিক0.125 । দশমিক বিন্দুতে বিভক্ত হয়ে আমরা শুরু করি i, এটি সুদের হারের fদশমিক ভগ্নাংশের পূর্ণসংখ্যার অংশ হয়ে যায় । এরপরে এটি 8 দ্বারা গুণিত হয় এর প্রথম fঅঙ্কটি এখন শতাংশ সুদের হারে অষ্টমীর সংখ্যা।

@set/ai+=%f:~,1%,k=%1*493+%2*29+%3

এরপরে স্ট্রিং স্লাইসিং ব্যবহার করে উত্তোলন করা হয় এবং 1 / 800th এ সুদের হার দিতে যোগ করা হয়। বাদামের সংখ্যাও গণনা করা হয়।

@for /l %%y in (1,1,%5)do @set/ak+=k*i/800

গণনা করুন এবং প্রতি বছরের আগ্রহ যুক্ত করুন।

@set/ag=k/493,s=k/29%%17,k%%=29
@echo %g% %s% %k%

গ্যালিয়ন্স এবং সিকলেসে ফিরে রূপান্তর করুন।


0

05 এ বি 1 ই (উত্তরাধিকার) , 24 বাইট

>Im•1ýÑ•3L£I*O*ï29‰ć17‰ì

@ জোকিংয়ের পোর্ট পার্ল 6 উত্তর , সুতরাং যদি আপনি এই উত্তরটি পছন্দ করেন তবে তাকেও করতে ভুলবেন না!

আমি নতুন সংস্করণে বাগের কারণে লেগ্যাসি সংস্করণটি ব্যবহার করছি যেখানে £পূর্ণসংখ্যার উপর কাজ করে না, সুতরাং স্ট্রিংয়ের জন্য একটি স্পষ্ট কাস্ট §(দ্বিতীয়টির মধ্যে) এবং3 ) আবশ্যক (বাগ ঠিক না হওয়া অবধি)।

দশমিক হিসাবে আগ্রহ নিয়ে নেয়, বছর পরে এবং [নটস, সিক্লস, গ্যালিয়ন্স] এর তালিকা অনুসরণ করে।

এটি অনলাইনে চেষ্টা করুন।

ব্যাখ্যা:

>                      # Increase the (implicit) interest decimal by 1
                       #  i.e. 0.0725 → 1.0725
 Im                    # Take this to the power of the year input
                       #  i.e. 1.0725 and 3 → 1.233...
1ýÑ•                  # Push compressed integer 119493
     3L                # Push list [1,2,3]
       £               # Split the integer into parts of that size: [1,19,493]
        I*             # Multiply it with the input-list
                       #  i.e. [1,19,493] * [23,16,103] → [23,464,50779]
          O            # Take the sum of this list
                       #  i.e. [23,464,50779] → 51266
           *           # Multiply it by the earlier calculated number
                       #  i.e. 51266 * 1.233... → 63244.292...
            ï          # Cast to integer, truncating the decimal values
                       #  i.e. 63244.292... → 63244
             29       # Take the divmod 29
                       #  i.e. 63244 → [2180,24]
                ć      # Extract the head; pushing the remainder-list and head separately
                       #  i.e. [2180,24] → [24] and 2180
                 17   # Take the divmod 17 on this head
                       #  i.e. 2180 → [128,4]
                    ì  # And prepend this list in front of the remainder-list
                       #  i.e. [24] and [128,4] → [128,4,24]
                       # (which is output implicitly as result)

আমার এই 05AB1E ডগা দেখুন (অধ্যায় ইপিএসে দক্ষিন কোরিয়ায় কিভাবে পূর্ণসংখ্যার কম্প্রেস কিভাবে? ) কেন বুঝতে •1ýÑ•হয় 119493


0

এপিএল (এনএআরএস), 37 চর, 74 বাইট

{(x y z)←⍵⋄⌊¨a⊤(z⊥⍨a←0 17 29)×x*⍨1+y}

গ্রাহাম ব্যবহারকারীর দ্বারা খুব ভাল এবং খুব অল্প কিছু বাইটস এপিএল সমাধানটির একটি সমাধানে অনুবাদ করা হয়েছে যা স্ট্যান্ডার্ড ইনপুটের পরিবর্তে একটি ফাংশন ব্যবহার করে ... পরীক্ষা এবং এটি কীভাবে ব্যবহার করতে হবে:

  f←{(x y z)←⍵⋄⌊¨a⊤(z⊥⍨a←0 17 29)×x*⍨1+y}
  f 3 0.0725 (103 16 23)
128 4 24

(আমি বলিনা যে আমি অ্যালগরিদম বুঝতে পেরেছিলাম)


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.