জটিল সংখ্যার সূচক


10

দুটি পূর্ণসংখ্যা দেওয়া, যা negativeণাত্মক, শূন্য বা ধনাত্মক হতে পারে aএবং b(কোনও সমতল জটিল সংখ্যাকে অন্তর্ভুক্ত করা সহ যে কোনও যুক্তিসঙ্গত বিন্যাসে নেওয়া হয় ) এটিকে রূপান্তরিত সংখ্যাa + bi যেখানে i(নেতিবাচক একের বর্গমূল ) রূপান্তরিত করে । এর পরে, প্রকাশিত হয় তৃতীয় গান (ধনাত্মক পূর্ণসংখ্যা) ইনপুট ভেরিয়েবলের ক্ষমতায় এটা বাড়াতে cহিসেবে । এরপরে আপনার এমন কিছু হওয়া উচিত । তারপরে আপনাকে অবশ্যই আউটপুট, বা ফিরে আসতে হবে, এবং কোনও যুক্তিসঙ্গত ফর্ম্যাটে ( কোনও সমতল জটিল সংখ্যা আউটপুট সহ )।(a + bi)cd + eide

ইনপুট এবং আউটপুট যে কোনও ক্রমে নেওয়া বা আউটপুট করা যেতে পারে।

উদাহরণ:

5, 2, 2 -> 21, 20
1, 4, 2 -> -15, 8
-5, 0, 1 -> -5, 0

যদি আমরা ডি মাইভেরের সূত্রটি ব্যবহার করি তবে কি ভাসমান বিন্দু প্রতিরোধের অনুমতি রয়েছে?
জিউসেপ

@ জিউসেপ হ্যাঁ, ঠিক আছে।
Okx

4
এফডব্লিউআইডব আমি মনে করি নিয়মগুলির পরিবর্তন (পুরোপুরি নমনীয় আই / ওকে অনুমতি দেওয়া) মোটামুটি আকর্ষণীয় চ্যালেঞ্জকে বেশ নিস্তেজ করে তুলেছে।
জোনাথন অ্যালান


উত্তর:


7

গণিত, 17 বাইট

ReIm[(#+#2I)^#3]&

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

আলেফাল্ফা থেকে -8 বাইট

কিন্তু ........ বিধি পরিবর্তন হয়েছে ...... তাই

গণিত, 5 বাইট

Power

5
{Re@#,Im@#}&->ReIm
আলেফাল্ফ

1
17 বাইট । আপনি কেবল অপসারণ করতে পারেন @#&
মিঃ এক্সকোডার

হা হা, হ্যাঁ, আমার ভুল
J42161217

আপনি এখন #^#2&বা ঠিক করতে পারেন Power
সম্পূর্ণরূপে

6

পাইথন 3 , 3 বাইট

pow

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

জটিল সংখ্যা হিসাবে ইনপুট এবং আউটপুট।


পাইথন 3 , 47 বাইট

def f(a,b,c):n=(a+b*1j)**c;return n.real,n.imag

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

পূর্ণসংখ্যা হিসাবে ইনপুট এবং আউটপুট


পাইথন 2 , 62 60 বাইট

-২ বাইটস @ লিওনহার্ডকে ধন্যবাদ

a,b,c=input();d=1;e=0
exec'd,e=a*d-b*e,a*e+b*d;'*c
print d,e

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

জটিল সংখ্যা প্রকার ব্যবহার করে না


4

জাভাস্ক্রিপ্ট (ES6), 51 50 বাইট

a=>b=>g=c=>c?([x,y]=g(c-1),[x*a-b*y,a*y+b*x]):"10"
  • কারিঙ আকারে ইনপুট নেয়: f(a)(b)(c)
  • ফলাফলটিকে অ্যারে হিসাবে ফিরিয়ে দেয়: [d, e]

ব্যাখ্যা

a=>b=>g=c=>               // Input in currying syntax
    c?(                   // If `c` != 0:
        [x,y]=g(c-1),     //     Set [x, y] to the result of f(a)(b)(c-1)
        [x*a-b*y,a*y+b*x] //     Return (a + bi) * (x + yi)
    ):                    // Else: (when c = 0)
        "10"              //     Return [1, 0] (to end the recursion)

f=a=>b=>g=c=>c?([x,y]=g(c-1),[x*a-b*y,a*y+b*x]):"10"
<div oninput="o.innerText=f(a.value)(b.value)(c.value)"><input id=a type=number value=0><input id=b type=number value=0><input id=c type=number value=1 min=1><pre id=o>



3

আসলে , 1 বাইট

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

নোট করুন যে নিয়মগুলি পরিবর্তন হয়েছে এবং জটিল সংখ্যাগুলি বৈধ I / O প্রকারের (দুর্ভাগ্যবশত এটি পোস্টটিকে "এই ক্ষয়ক্ষতি সম্পাদন" চ্যালেঞ্জে পরিণত করে)। নীচে মূল উত্তর।

আসলে , 3 বাইট

Çⁿ╫

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

একটি নিউলাইন দ্বারা পৃথক করা মানগুলি ফেরত দেয়। বিপরীত ক্রমে ইনপুট নেয় এবং ফলাফলগুলি বিপরীত ক্রমে ফিরে আসে (টিও লিঙ্কটি দেখুন)।

Çⁿ╫ - সম্পূর্ণ প্রোগ্রাম। বিপরীত ইনপুট।

Ç - একটি + দ্বি প্রত্যাবর্তন করুন।
 ⁿ - ক্ষয়ক্ষতি
  ╫ - এর বাস্তব এবং কল্পিত অংশগুলিকে ঠেলে দেয়।

3

জেলি , 1 বাইট

*

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

নিয়ম আপডেট সম্পর্কে সতর্ক করার জন্য মিঃ এক্সকোডারকে ধন্যবাদ (ফলাফল হিসাবে -6)। আমাকে নিয়ম আপডেট সম্পর্কে সতর্ক
করার জন্য কারও ধন্যবাদ (ফলাফল হিসাবে -2)।

প্রথম যুক্তি: (a+bj)
দ্বিতীয় তর্ক: c
রিটার্ন:(d+ej)




আসলে জোনাথনের 3 বাইটার যথেষ্ট ছিল; ḅı*, যেহেতু নিয়মগুলি পরিবর্তন হয়েছে এবং আপনাকে এখন একটি সরল জটিল সংখ্যা আউটপুট দেওয়ার অনুমতি দেওয়া হচ্ছে।
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার যখন হচ্ছিল তখন ঘুমাচ্ছিলেন
এরিক দ্য আউটগল্ফার

1
দেখে মনে হচ্ছে * ওয়ানবাইটার ঠিক আছে এখন আপনি জটিল হিসাবে ইনপুট নিতে পারেন
আমার সর্বনাম

3

আর , 3 বাইট

এটি বিরক্তিকর হয়ে উঠছে। কোনও জটিল সংখ্যা হিসাবে যদি ইনপুট এবং আউটপুটকে মঞ্জুরি দেওয়া হয় তবে পাওয়ার ফাংশনের জন্য একটি বিল্টিন রয়েছে।

`^`

উদাহরণ স্বরূপ:

> (5+2i)^2
[1] 21+20i
> (1+4i)^2
[1] -15+8i
> (-5+0i)^1
[1] -5+0i

অথবা

> `^`(5+2i,2)
[1] 21+20i
> `^`(1+4i,2)
[1] -15+8i
> `^`(-5+0i,1)
[1] -5+0i

2

05 এ বি 1 , 20 19 17 16 বাইট

‚UTSsFXâP`(‚RŠ‚+

এটি অনলাইন চেষ্টা করুন! ক্রমে তিনটি পৃথক ইনপুট নেয় b, a, cএবং একটি অ্যারের আউটপুট দেয় [d, e]। সম্পাদনা করুন: ড্যাটবোইকে ধন্যবাদ 2 টি বাইট সংরক্ষিত @ আদনানকে ধন্যবাদ 1 বাইট সংরক্ষিত ব্যাখ্যা:

‚                   Join a and b into a pair
 U                  Store in variable X
  T                 Push 10 to the stack
   S                Split into the pair [d, e] = [1, 0]
    s               Swap with c
     F              Repeat the rest of the program c times
      X             Get [a, b]
       â            Cartesian product with [d, e]
        P           Multiply each pair together [da, db, ea, eb]
         `          Push each product as a separate stack entry
          (         Negate eb
           ‚        Join with ea into a pair [ea, -eb]
            R       Reverse the pair [-eb, ea]
             Š      Push under da and db
              ‚     Join them into a pair [da, db]
               +    Add the two pairs [da-eb, db+ea]

ইনপুট এবং আউটপুট যে কোনও ক্রমে নেওয়া বা আউটপুট করা যেতে পারে। - এর অর্থ আপনি বিপরীত ক্রমে প্রথম দুটি ইনপুট নিতে পারেন।
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার ধন্যবাদ, আমি এটি লক্ষ্য করিনি।
নিল

আমি নিশ্চিত কিনা এটি গুরুত্ব দেয় বা না, তবে সংখ্যা গণনাও করা যায় 'jì+³m
আদনান

আপনি -2 বাইট :) 1 0‚দিয়ে প্রতিস্থাপন করতে পারেনTS
দাতবোই

এবং Pস্বয়ংক্রিয়ভাবে ভেক্টরাইজ হয়, যাতে আপনার প্রয়োজন হয় না
আদনান

2

সি # (.নেট কোর) , 62 38 বাইট

a=>c=>System.Numerics.Complex.Pow(a,c)

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


.Realআপনার উত্তরে আপনার এবং .Imaginary` অন্তর্ভুক্ত করা উচিত .. নিয়ম অনুসারে " আপনাকে অবশ্যই আউটপুট দিতে হবে, অথবা ফিরে আসতে হবে, dএবং eকোনও যুক্তিসঙ্গত বিন্যাসে (কোনও সরল জটিল সংখ্যা আউটপুট সহ নয়) " আপনাকে কেবল আউটপুট দেওয়ার অনুমতি নেই জটিল সংখ্যা.
কেভিন ক্রুইজসেন

2

পাইথ, 5 12 5 2 বাইট

^E

cপ্রথমে নেয় , তার পরে আসে a+bj

বয়লারপ্লেট এর 7 বাইট কারণ দৃশ্যত একটি কাল্পনিক সংখ্যা হিসাবে আউটপুট অনুমোদিত নয়। এটি আবার অনুমতি দেওয়া হয়েছে! Hurray থেকে! এবং জটিল নম্বরটি যুক্তিসঙ্গত ইনপুট হিসাবে গ্রহণের সাথে আমরা অতিরিক্ত 3 বাইট কাটাতে পারি!

পূর্ববর্তী সমাধান:

^.jEE

যখন জটিল সংখ্যা যুক্তিসঙ্গত ইনপুট ছিল না।

m,edsd]^.jEE

যখন জটিল সংখ্যাগুলি যুক্তিসঙ্গত আউটপুট ছিল না।

পরীক্ষা স্যুট.


2

05 এ বি 1 , 1 বাইট

m

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

ইনপুট: c\n(a+bj)
আউটপুট:(d+ej)


নীল হিসাবে একই টিপ, 'jì+³mনম্বর গণনা করার জন্য একটি ভিন্ন উপায়।
আদনান

@ আদনান কমপক্ষে আমার জন্য এটি সত্যই গুরুত্বপূর্ণ: পি
এরিক দ্য আউটগল্ফার

2

জে, 10 , 7 , 1 বাইট এস

^

লাগে c অধিকার যুক্তি এবং জটিল সংখ্যা হিসাবে ajb(আপনি কিভাবে প্রতিনিধিত্বa + bi জে মধ্যে) বাম আর্গুমেন্ট হিসাবে।

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

অন্যান্য সমাধান

7 বাইট

জটিল সংখ্যা ইনপুটটিকে তালিকা হিসাবে গ্রহণ করে।

^~j./@]

10 বাইট

এটি a + biতালিকাতে আউটপুট করেছে a b

+.@^~j./@]

আমি কিছু সুন্দর ^~&.(j./)কিছুর চেষ্টা করতে চেয়েছিলাম কিন্তু বিপরীতটি j./অবশ্যই সংজ্ঞায়িত হয়নি। প্রকৃতপক্ষে, ^~&.(+.inv)কাজ করে এবং আপনি যে ^&.(+.inv)অর্গগুলিতে অর্ডারগুলি গ্রহণ করেন তা যদি আপনি বিপরীত করেন তবে আপনি এটি 10 ​​টি বাইটও তৈরি করতে পারেন।


2

টিআই-বেসিক, 25 22 8 বাইট

জটিল সংখ্যা এবং এক্সপোনেন্টটিকে ইনপুট হিসাবে নিয়ে যায় এবং জটিল সংখ্যা হিসাবে আউটপুট সঞ্চয় করে Ans। ইনপুট / আউটপুটটিতে senিলে restrictionsালা বিধিনিষেধের কারণে বাইটগুলিতে কড়া ড্রপ।

Prompt C,E
C^E

আপনার সাথে 2 বাইট সংরক্ষণ করতে পারবেন imag({iAns,Ansগত লাইনে (দ্বারা iআমি জটিল সংখ্যা মানে আমি )।
মিশা লাভরভ

1
এবং আমি অনুমান করি তারপরে আরও দুটি বাইট কেবল দুটি লাইনের সাথে একত্রিত করে imag({i,1}(A+Bi)^C
মিশা লাভারভ 21

1
বিধিগুলি পরিবর্তিত হয়েছে, এখন আপনি ইনপুট নিতে পারেন এবং জটিল সংখ্যাগুলি ফিরিয়ে দিতে পারেন, যদি এটি কোনও সাহায্য করে।
এরিক দি আউটগল্ফার

2

6502 মেশিন কোড সাবরুটাইন, 199 187 185 বাইট

A2 03 B5 FB 95 26 CA 10 F9 88 D0 01 60 A5 26 85 61 A5 27 85 62 A5 FB 85 63 A5
FC 85 64 A9 20 85 6F D0 36 18 A5 6D 65 65 85 28 A5 6E 65 66 85 29 A5 4B 85 26
A5 4C 85 27 50 CF 38 A5 6D E5 65 85 4B A5 6E E5 66 85 4C A5 28 85 61 A5 29 85
62 A5 FB 85 63 A5 FC 85 64 06 6F A9 00 85 65 85 66 A2 10 46 62 66 61 90 0D A5
63 18 65 65 85 65 A5 64 65 66 85 66 06 63 26 64 CA 10 E6 A9 FF 24 6F 70 B9 30
02 F0 9E A5 65 85 6D A5 66 85 6E 24 6F 30 14 A5 28 85 61 A5 29 85 62 A5 FD 85
63 A5 FE 85 64 06 6F D0 B4 A5 26 85 61 A5 27 85 62 A5 FD 85 63 A5 FE 85 64 06
6F B0 A0
  • উন্নত "স্প্যাগেটি" কাঠামো সহ -12 বাইট
  • -২ বাইটগুলি রেজিস্টার পরিবর্তন করে এক্সপেন্ডেন্টটি পাস করার জন্য, তাই আমরা প্রাথমিক কপির লুপে জেরোপেজ অ্যাড্রেসিং মোডটি ব্যবহার করতে পারি

এটি অবস্থান-স্বতন্ত্র কোড, কেবল এটিকে র‌্যামের কোথাও রেখে এটিকে কল করুন jsr নির্দেশের ।

রুটিনটি (জটিল) বেসটিকে দুটি 16 বিট স্বাক্ষরিত পূর্ণসংখ্যার হিসাবে (2 এর পরিপূরক, ছোট-এন্ডিয়ান) $fb/$fc(বাস্তব) এবং$fd/$fe (কাল্পনিক) হিসাবে এবং নিখরচায়কের স্বাক্ষরযুক্ত 8 বিট পূর্ণসংখ্যার হিসাবে প্রকাশককে গ্রহণ করে Y

ফলাফল ফিরে আসে $26/$27 (বাস্তব) এবং$28/$29 (কাল্পনিক) এ ।


ব্যাখ্যা

এমনকি 6502 সিপিইউতে এটি এখনও একটি আকর্ষণীয় চ্যালেঞ্জ কারণ এখানে এমনকি গুণনের কোনও নির্দেশ নেই। পদ্ধতির সোজা এগিয়ে রয়েছে, একটি জটিল গুণ প্রয়োগ করে এবং প্রায়শই প্রয়োজন হিসাবে এটি কার্যকর করে exp গল্ফিং সাবরুটাইনগুলি এড়িয়ে পরিবর্তে একটি "ব্রাঞ্চ স্প্যাগেটি" তৈরি করে করা হয়, তাই একাধিকবার প্রয়োজন এমন একটি সহজ 16 বিট গুণনের কোডটি সর্বনিম্ন সম্ভব ওভারহেড দিয়ে পুনরায় ব্যবহার করা হয়। এখানে মন্তব্য বিচ্ছিন্ন:

 .cexp:
A2 03       LDX #$03            ; copy argument ...
 .copyloop:
B5 FB       LDA $FB,X
95 26       STA $26,X
CA          DEX
10 F9       BPL .copyloop       ; ... to result
 .exploop:
88          DEY                 ; decrement exponent
D0 01       BNE .mult           ; zero reached -> done
60          RTS
 .mult:                         ; multiply (complex) result by argument
A5 26       LDA $26             ; prepare to multiply real components
85 61       STA $61             ; (a*c)
A5 27       LDA $27
85 62       STA $62
A5 FB       LDA $FB
85 63       STA $63
A5 FC       LDA $FC
85 64       STA $64
A9 20       LDA #$20            ; marker for where to continue
85 6F       STA $6F
D0 36       BNE .mult16         ; branch to 16bit multiplication
 .mult5:
18          CLC                 ; calculate sum (a*d) + (b*c)
A5 6D       LDA $6D
65 65       ADC $65
85 28       STA $28             ; and store to imaginary component of result
A5 6E       LDA $6E
65 66       ADC $66
85 29       STA $29
A5 4B       LDA $4B             ; load temporary result (a*c) - (b*d)
85 26       STA $26             ; and store to real component of result
A5 4C       LDA $4C
85 27       STA $27
50 CF       BVC .exploop        ; next exponentiation step
 .mult3:
38          SEC                 ; calculate difference (a*c) - (b*d)
A5 6D       LDA $6D
E5 65       SBC $65
85 4B       STA $4B             ; and store to temporary location
A5 6E       LDA $6E
E5 66       SBC $66
85 4C       STA $4C
A5 28       LDA $28             ; prepare to multiply real component of result
85 61       STA $61             ; with imaginary component of argument
A5 29       LDA $29             ; (a*d)
85 62       STA $62
A5 FB       LDA $FB
85 63       STA $63
A5 FC       LDA $FC
85 64       STA $64
06 6F       ASL $6F             ; advance "continue marker"
 .mult16:
A9 00       LDA #$00            ; initialize 16bit multiplication
85 65       STA $65             ; result with 0
85 66       STA $66
A2 10       LDX #$10            ; bit counter (16)
 .m16_loop:
46 62       LSR $62             ; shift arg1 right
66 61       ROR $61
90 0D       BCC .m16_noadd      ; no carry -> nothing to add
A5 63       LDA $63             ; add arg2 ...
18          CLC
65 65       ADC $65
85 65       STA $65
A5 64       LDA $64
65 66       ADC $66
85 66       STA $66             ; ... to result
 .m16_noadd:
06 63       ASL $63             ; shift arg2 left
26 64       ROL $64
CA          DEX                 ; decrement number of bits to go
10 E6       BPL .m16_loop
A9 FF       LDA #$FF            ; check marker for where to continue
24 6F       BIT $6F
70 B9       BVS .mult3
30 02       BMI .saveres        ; have to save result to temp in 2 cases
F0 9E       BEQ .mult5
 .saveres:
A5 65       LDA $65             ; save result to temporary
85 6D       STA $6D
A5 66       LDA $66
85 6E       STA $6E
24 6F       BIT $6F             ; check "continue marker" again
30 14       BMI .mult4
 .mult2:
A5 28       LDA $28             ; prepare to multiply imaginary components
85 61       STA $61             ; (b*d)
A5 29       LDA $29
85 62       STA $62
A5 FD       LDA $FD
85 63       STA $63
A5 FE       LDA $FE
85 64       STA $64
06 6F       ASL $6F             ; advance "continue marker"
D0 B4       BNE .mult16         ; branch to 16bit multiplication
 .mult4:
A5 26       LDA $26             ; prepare to multiply imaginary component of
85 61       STA $61             ; result with real component of argument
A5 27       LDA $27             ; (b*c)
85 62       STA $62
A5 FD       LDA $FD
85 63       STA $63
A5 FE       LDA $FE
85 64       STA $64
06 6F       ASL $6F             ; advance "continue marker"
B0 A0       BCS .mult16         ; branch to 16bit multiplication

প্রোগ্রামটি ব্যবহার করে উদাহরণস্বরূপ (সি 64, সিএএনএক্স- সিন্ট্যাক্সে সমাবেশের উত্স ):

.import cexp

CEXP_A          = $fb
CEXP_AL         = $fb
CEXP_AH         = $fc
CEXP_B          = $fd
CEXP_BL         = $fd
CEXP_BH         = $fe

CEXP_RA         = $26
CEXP_RAL        = $26
CEXP_RAH        = $27
CEXP_RB         = $28
CEXP_RBL        = $28
CEXP_RBH        = $29

.segment "LDADDR"
                .word   $c000

.segment "MAIN"
                jsr     $aefd           ; consume comma
                jsr     $ad8a           ; evaluate number
                jsr     $b1aa           ; convert to 16bit int
                sty     CEXP_AL         ; store as first argument
                sta     CEXP_AH
                jsr     $aefd           ; ...
                jsr     $ad8a
                jsr     $b1aa
                sty     CEXP_BL         ; store as second argument
                sta     CEXP_BH
                jsr     $b79b           ; read 8bit unsigned into X
                txa                     ; and transfer
                tay                     ; to Y

                jsr     cexp            ; call our function

                lda     CEXP_RAH        ; read result (real part)
                ldy     CEXP_RAL
                jsr     numout          ; output
                ldx     CEXP_RBH        ; read result (imaginary part)
                bmi     noplus
                lda     #'+'            ; output a `+` if it's not negative
                jsr     $ffd2
noplus:         txa
                ldy     CEXP_RBL
                jsr     numout          ; output (imaginary part)
                lda     #'i'
                jsr     $ffd2           ; output `i`
                lda     #$0d            ; and newline
                jmp     $ffd2

numout:
                jsr     $b391           ; convert to floating point
                jsr     $bddd           ; format floating point as string
                ldy     #$01
numout_loop:    lda     $ff,y           ; output loop
                bne     numout_print    ; until 0 terminator found
                rts
numout_print:   cmp     #' '            ; skip space characters in output
                beq     numout_next
                jsr     $ffd2
numout_next:    iny
                bne     numout_loop

অনলাইন ডেমো

ব্যবহার: sys49152,[a],[b],[c] যেমন, sys49152,5,2,2(আউটপুট 21+20i:)


1

ডায়ালগ এপিএল , 10 বাইট

⎕*⍨⊣+¯11○⊢

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

aবাম আর্গুমেন্ট, bডান আর্গুমেন্ট, এবং cইনপুট প্রম্পট মাধ্যমে।

বিন্যাসে একটি জটিল নম্বর প্রদান করে dJe


বিধিগুলি পরিবর্তিত হয়েছে, এখন আপনি ইনপুট নিতে পারেন এবং জটিল সংখ্যাগুলি ফিরিয়ে আনতে পারেন, যদি তা কোনও সহায়তার হয়।
এরিক দ্য আউটগল্ফার

1

এমএটিএল , 1 বাইট

^

ইনপুটগুলি হ'ল a+jb,c

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

পুরানো সংস্করণ: অ-জটিল ইনপুট এবং আউটপুট, 8 বাইট

J*+i^&Zj

ইনপুট অর্ডার b, a,c

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

ব্যাখ্যা

J           Push imaginary unit
 *          Multiply by implicit input b
  +         Add implicit input a
   i        Take input c
    ^       Power
     &Zj    Push real and imaginary parts. Implicitly display

অন্তর্নিহিত ইনপুট দ্বারা গুণ করুন - অন্তর্নিহিত ইনপুট যুক্ত করুন বি । আপনি কি এর একটিতে একটি বোঝাতে চেয়েছিলেন ?
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার হ্যাঁ, ধন্যবাদ সংশোধন করা হয়েছে
লুইস মেন্ডো

আপনি এখন একটি জটিল সংখ্যা আকারে এবং একটি জটিল সংখ্যা আকারে ইনপুট নিতে পারেন। আপনি সম্ভবত এই উত্তরটি থেকে প্রচুর বয়লারপ্লেট কাটাতে পারেন।
স্টিভেন এইচ।

@ স্টিভেন হুইট ধন্যবাদ! এখনই সম্পাদিত
লুইস মেন্ডো


0

8 ম , 38 বাইট

কোড

c:new dup >r ( r@ c:* ) rot n:1- times

এসইডি (স্ট্যাক এফেক্ট ডায়াগ্রাম) হ'ল:c a b -- (a + bi) ^ c

সতর্কতা : আর-স্ট্যাকেa + bi রেখে দেওয়া হয়েছে , তবে এটি পরবর্তী গণনাগুলিকে প্রভাবিত করে না।

মন্তব্য সহ দর্শনীয় সংস্করণ

needs math/complex

: f \ c a b  -- (a + bi) ^ c
    c:new                      \ create a complex number from a and b
    dup                        \ duplicate a + bi
    >r                         \ store a + bi on r-stack
    ( r@ c:* ) rot n:1- times  \ raise ( a + bi ) to c
;

উদাহরণ এবং ব্যবহার

: app:main
    \ rdrop is not strictly required
    2 5 2 f . cr rdrop
    2 1 4 f . cr rdrop 
    1 -5 0 f . cr rdrop 
    bye
;

পূর্ববর্তী কোডের আউটপুট

c:1:data:{"real":21,"imag":20}
c:1:data:{"real":-15,"imag":8}
c:2:data:{"real":-5,"imag":0}

0

অষ্টাভে / এমএটিএলবি, 6 বাইট

@power

বেনামে ফাংশন যা দুটি সংখ্যা সংযোজন করে এবং তাদের শক্তি আউটপুট করে।

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

পুরানো সংস্করণ: অ-জটিল ইনপুট এবং আউটপুট, 30 বাইট

@(a,b,c)real((a+j*b)^c./[1 j])

বেনামে ফাংশন যা তিনটি সংখ্যা দেয় এবং দুটি সংখ্যার অ্যারে আউটপুট করে।

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


0

পার্ল 6 ,  29 26 20 19  11 বাইট

{$_=($^a+$^b*i)**$^c;.re,.im}

চেষ্টা করে দেখুন

{(($^a+$^b*i)**$^c).reals}

চেষ্টা করে দেখুন

((*+* *i)** *).reals

চেষ্টা করে দেখুন

((*+* *i)***).reals

চেষ্টা করে দেখুন

আউটপুট বিধিনিষেধের পরিবর্তনের সাথে এটি আরও কমানো যেতে পারে:

(*+* *i)***

চেষ্টা করে দেখুন

***অংশ হিসেবে পার্স করা হয় ** *কারণ** পোতা অপারেটর চেয়ে দীর্ঘতর হয় *পোতা অপারেটর।

সম্প্রসারিত:

#     __________________ 1st parameter
#    /   _______________ 2nd parameter
#   /   /         ______ 3rd parameter
#  /   /         /
# V   V         V
( * + * * i) ** *
#       ^    ^^
#        \     \________ exponentiation
#         \_____________ multiplication

আপনি এখন করতে পারেন (*+* *i)***
সম্পূর্ণরূপে


0

ক্যাসিও-বেসিক, 6 বাইট

a^b

জটিল সংখ্যা হিসাবে ইনপুট এবং আউটপুটটিকে মঞ্জুরি দেওয়ার নিয়মে পরিবর্তন করুন এটি উল্লেখযোগ্যভাবে খাটো করে তুলেছে।

ফাংশনটির জন্য 3 বাইট, a,bপরামিতি বাক্সে প্রবেশ করতে +3 ।

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