किसी भी लम्बाई के अनुक्रम के लिए असतत फूरियर ट्रांसफॉर्म (DFT) को लागू करें। इसे या तो एक फ़ंक्शन या प्रोग्राम के रूप में लागू किया जा सकता है और अनुक्रम को एक तर्क के रूप में या मानक इनपुट का उपयोग करके दिया जा सकता है।
एल्गोरिथ्म आगे की दिशा में मानक डीएफटी के आधार पर एक परिणाम की गणना करेगा। इनपुट अनुक्रम की लंबाई Nऔर समाहित है [x(0), x(1), ..., x(N-1)]। आउटपुट अनुक्रम की लंबाई समान होगी और इसमें [X(0), X(1), ..., X(N-1)]प्रत्येक X(k)उस संबंध में होगा जहां नीचे दिए गए संबंध द्वारा परिभाषित किया गया है।
नियम
- ये है कोड गोल्फ तो सबसे छोटा समाधान जीतता है।
- DFT जो आगे या पीछे (उलटा के रूप में भी जाना जाता है) दिशाओं की गणना करते हैं, उन्हें अनुमति नहीं है।
- फ्लोटिंग-पॉइंट अशुद्धि को आपके खिलाफ नहीं गिना जाएगा।
परीक्षण के मामलों
DFT([1, 1, 1, 1]) = [4, 0, 0, 0]
DFT([1, 0, 2, 0, 3, 0, 4, 0]) = [10, -2+2j, -2, -2-2j, 10, -2+2j, -2, -2-2j]
DFT([1, 2, 3, 4, 5]) = [15, -2.5+3.44j, -2.5+0.81j, -2.5-0.81j, -2.5-3.44j]
DFT([5-3.28571j, -0.816474-0.837162j, 0.523306-0.303902j, 0.806172-3.69346j, -4.41953+2.59494j, -0.360252+2.59411j, 1.26678+2.93119j] = [2, -3j, 5, -7j, 11, -13j, 17]
मदद
2. की शक्ति के बराबर लंबाई वाले दृश्यों के लिए एफएफटी एल्गोरिथ्म का उपयोग करते हुए डीएफटी को खोजने के लिए एक पिछली चुनौती थी । आपको कुछ तरकीबें मिल सकती हैं जो आपको यहां मदद कर सकती हैं। ध्यान रखें कि यह चुनौती आपको किसी जटिलता तक सीमित नहीं करती है और किसी भी लम्बाई के अनुक्रम के लिए आपके समाधान की आवश्यकता होती है।

