गोल्डन रेशियो कंटीन्यूएटेड फ़्रेक्शन के लिए मैथजैक्स जेनरेट करें


17

मैथजैक्स के अस्थायी रूप से अक्षम होने की प्रत्याशा में , इस प्रश्न में प्रस्तुत मैथजैक्स को छवियों के साथ बदल दिया गया है। आप अभी भी उत्तर पोस्ट करने के लिए स्वागत कर रहे हैं, लेकिन आपको किसी अन्य साइट पर प्रदान किए गए MathJax को देखना होगा ।

PPCG को मिला सिर्फ MathJax ! इसका मतलब है कि हम अब आसानी से अच्छी तरह से प्रारूपित गणितीय सूत्रों को पदों में शामिल कर सकते हैं। ( आसान MathJax ट्यूटोरियल। )

उदाहरण के लिए, यहाँ है सुनहरा अनुपात एक अनंत के रूप में व्यक्त निरंतर अंश :

eq0

इस समीकरण के लिए MathJax कोड है

$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$

आप फार्मूला पर राइट क्लिक करके और Show Math AsTeX Commands पर जाकर इसे पा सकते हैं ।
इसका $$अर्थ है कि यह इनलाइन के बजाय पृष्ठ के केंद्र में अपने आप प्रदर्शित होता है। $इनलाइन के लिए सिंगल का उपयोग करें ।

चुनौती

एक प्रोग्राम लिखें जो एक गैर-नकारात्मक पूर्णांक में ले जाता है, n, और गोल्डन अनुपात के लिए जारी अंश के उस कई "चरणों" के लिए MathJax कोड को आउटपुट करता है।

उत्तर में चीजों को मानक रखने के लिए, आपको इस सटीक MathJax सिंटैक्स का उपयोग करना चाहिए :

  • N = 0 के लिए, आउटपुट होना चाहिए $$\varphi=1+\dots$$
    जिसका प्रतिपादन इस प्रकार है:

    eq1

  • N = 1 के लिए, आउटपुट होना चाहिए $$\varphi=1+\cfrac1{1+\ddots}$$
    जिसका प्रतिपादन इस प्रकार है:

    eq2

  • N = 2 के लिए, आउटपुट होना चाहिए $$\varphi=1+\cfrac1{1+\cfrac1{1+\ddots}}$$
    जिसका प्रतिपादन इस प्रकार है:

    eq3

  • N = 3 के लिए, आउटपुट होना चाहिए $$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$
    जिसका प्रतिपादन इस प्रकार है:

    eq4

यह पैटर्न आगे बड़े एन के लिए जारी है। आप कह सकते हैं कि n समीकरण में विभाजन लाइनों की संख्या का प्रतिनिधित्व करता है।

टिप्पणियाँ

  • \cfracअधिक आम के बजाय प्रयोग किया जाता है \frac
  • \dots\ddotsn = 0 के बजाय का उपयोग किया जाता है ।
  • स्टडिन या कमांड लाइन से इनपुट लें।
  • स्टडआउट के लिए आउटपुट (एक वैकल्पिक अनुगामी न्यूलाइन के साथ)।
  • वैकल्पिक रूप से, आप एक फ़ंक्शन लिख सकते हैं जो पूर्णांक के रूप में n में होता है और एक स्ट्रिंग के रूप में MathJax कोड लौटाता है (या अभी भी प्रिंट करता है)।

स्कोरिंग

बाइट्स में सबसे छोटी सबमिशन जीत जाती है। टाईब्रेकर पहले की सबमिशन में जाता है।


स्टैक स्निपेट चलाने के इच्छुक लोगों के लिए बस एक नोट: कई (सबसे?) स्टैक स्निपेट्स की तरह, यह सफारी में काम नहीं करता है।
एलेक्स ए।

जब आप सामान टाइप करते हैं तो स्टैक स्निपेट काम नहीं करता है ... यह देता हैUncaught ReferenceError: textbox is not defined
soktinpk

@soktinpk अजीब बात है, मुझे भी यही समस्या हो रही है। लेकिन यहाँ पर स्निपेट काम करता है, भले ही यह बिल्कुल वही हो ... यहाँ एक बाहरी बाइट काउंटर है।
केल्विन के शौक

PPCG के लिए MathJax को फिर से जोड़ दिया गया है!
13

जवाबों:


6

CJam, 51 50 बाइट्स

$$\varphi=1+""\cfrac1{1+"ri:R*'\"ddots"R!>'}R*'$_

कोड स्पष्टीकरण:

"$$\varphi=1+"             "This is a static string";
  "\cfrac1{1+"ri:R*'\      "Repeat this string input number times. Put a \ at the end";
    "ddots"R!>             "If input is 0, remove 1st characters, else not";
      '}R*                 "Put the closing bracket R times";
        '$_                "The final $$";

कुछ उदाहरण:

एन = 0

$$\varphi=1+\dots$$

एन = 4

$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$

एन = 15

$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}}}}}}}}}}}}$$

अद्यतन - 1 बाइट Sp3000 के लिए धन्यवाद बचाया!

इसे यहाँ ऑनलाइन आज़माएँ


1
थोड़ा सा फेरबदल 50:"$$\varphi=1+""\cfrac1{1+"ri:R*'\"ddots"R!>'}R*'$_
Sp3000

मैंने आपके उत्तर को बिल्कुल नहीं देखा - सिर्फ संयोग। किसी भी तरह से, आपका 49 बाइट पायथ समाधान वास्तविकता में 50 बाइट्स है, क्योंकि आपको बचना \vहै \\v
orlp

@orlp और यही कारण है कि मैं वापस लुढ़क गया क्योंकि उस समाधान में कोई संभावित लाभ यहां मौजूद नहीं था।
ऑप्टिमाइज़र

10

पायथन, 70 68 67 बाइट्स

lambda n:"$$\\varphi=1+\%sdots%s$$"%("cfrac1{1+\\"*n+"d"[:n],"}"*n)

यह एक अनाम फ़ंक्शन को परिभाषित करता है जो बस सरल स्ट्रिंग गुणन और स्ट्रिंग स्वरूपण का उपयोग करता है।

(यह इंगित करने के लिए @xnor के लिए धन्यवाद, जिसे \\cकेवल लिखा जा सकता है \c, क्योंकि cबच नहीं सकता। दुर्भाग्य \\vसे \vयह ASCII 11. के लिए सही नहीं है।

पिछले प्रयास:

lambda n:"$$\\varphi="+"1+\\cfrac1{"*n+"1+\\"+"ddots"[n<1:]+"}"*n+"$$"
lambda n:r"$$\varphi=%s1+\%s$$"%("1+\cfrac1{"*n,"ddots"[n<1:]+"}"*n)

तुमने मुझे 14 सेकंड से हराया! इसके अलावा 70 वर्ण।
एक्सनोर

2
मुझे लगता है कि cfrac से पहले एक डबल \ का उपयोग किए बिना यह काम करता है।
xnor

@xnor इसे पसंद करता है, धन्यवाद! और अजगर
गोल्फों को

नाह, मैंने आपसे पोस्ट करने के लिए दौड़ का मेरा उचित हिस्सा चुराया है।
xnor

4

> <> , 89 86 + 3 = 89 बाइट्स

:&"$$"{\l?!;o70.
}-1v!?:<{"}"
&:&\~"stod"&:&?:
{1->:?!v}"\+1{1carfc"
rav\$$"\~"\+1=ihp

-vध्वज के साथ भागो , उदा

py -3 fish.py program.fish -v 3

हैरानी की बात है> <> यहां बहुत बुरा नहीं है, क्योंकि हम स्ट्रिंग को गुणा करके नकल कर सकते हैं जो हम हर पुनरावृत्ति को रोकते हैं।

:&"$$"{\                     Put n into the register and push "$$"
}-1v!?:<{"}"                 Push n "}"s
&:&\~"stod"&:&?:             Push "stod", and copy the final "d" if n != 0
{1->:?!v}"\+1{1carfc"        Push n "\+1{1carfc"s
rav\$$"\~"\+1=ihp            Push "\+1=ihprav\$$"
       \l?!;o70.             Keep printing chars until the stack is empty

(-3 बाइट्स @randomra को धन्यवाद)


3 बाइट्स के लिए दो छोटे सुधार (पंक्ति 1 और पंक्ति 3 के अंत में): pastebin.com/wEbKhuUH
randomra

Hah पहली और आखिरी पंक्ति के दर्पण मेल खाते हैं, ध्यान नहीं दिया: P
Sp3000

4

रेटिना , 160 + 7 = 167 बाइट्स

;`.+
$$$$\varphi=1+\dots#$0$$$$

; + (\d*)#(?:(((((((((9)|8)|7)|6)|5)|4)|3)|2)|1)|0) $1$1$1$1$1$1$1$1$1$1$2$3$4$5$6$7$8$9$10# ;#

;+`\\d?dots\d(\d*)
\cfrac1{1+\ddots$1}

प्रत्येक पंक्ति एक अलग स्रोत फ़ाइल में जाती है, इसलिए मैंने पहले के बाद प्रत्येक फ़ाइल के लिए 1 बाइट जोड़ी है । हालाँकि, सुविधा के लिए, रेटिना अब भी समर्थन करती है-s कमांड-लाइन फ़्लैग , जो आपको यह सब एक ही फाइल में डालने की अनुमति देता है (जिस स्थिति में नई सुचना को फाइल सेपरेटर माना जाता है)।

कोड के सबसे बड़े भाग (98 बाइट्स) का उपयोग दशमलव से इनपुट को unary (फाइल 3 से 6) में बदलने के लिए किया जाता है। कोड के मूल विचार में इनपुट के चारों ओर है $$\varphi=1+\dots...$$, तो एकल के लिए इनपुट कनवर्ट करते हैं, और उसके बाद का विस्तार \dotsNया \ddotsNनिरंतर अंश के अगले स्तर पर (जबकि कम करने Nके लिए N-1)।


4

जूलिया, 76 73 बाइट्स

n->("\$\$\\varphi=1+"*"\\cfrac1{1+"^n*"\\"*"d"^(n>0)*"dots"*"}"^n*"\$\$")

यह एक लैम्ब्डा फ़ंक्शन बनाता है जो इनपुट के रूप में एक पूर्णांक लेता है और एक स्ट्रिंग के रूप में MathJax को लौटाता है। इसे कॉल करने के लिए, इसे एक नाम दें, जैसे f=n->...

दुर्भाग्य से बैकस्लैश और डॉलर संकेत दोनों को जूलिया तार में बचना होगा क्योंकि वे दोनों का विशेष अर्थ है। स्ट्रिंग संघनन का उपयोग *और स्ट्रिंग पुनरावृत्ति के साथ किया जाता है ^

उदाहरण:

julia> f(0)
"$$\varphi=1+\dots$$"

julia> f(4)
"$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$"

सुझावों का हमेशा की तरह स्वागत है!


संपादित करें: 3 बाइट्स को प्लेनैपस के लिए धन्यवाद!


"d"^(n>0)इसके बजाय (n>0?"d":"")इसे कम करना होगा।
प्लेनैपस

@plannapus: मुझे समझ नहीं आया कि आपके नाम का क्या मतलब है लेकिन आप एक प्रतिभाशाली व्यक्ति हैं! मैं भूल "string"^0गया था कि कानूनी था।
एलेक्स ए।

आपका स्वागत है। मेरा छद्म नाम एक रेडियोलेरियन जीनस का नाम है, जो खुद एक रेडियोलॉजिस्ट पैलियोन्टोलॉजिस्ट है। इसका अनुवाद "चपटा शलजम" से मुझे लगता है :)
प्लेनैपस

मैं एक BF उत्तर =) का इंतजार कर रहा हूं
त्रुटी

@flawr: मुझे आशा है कि आप उस पर मेरा इंतजार नहीं कर रहे हैं ...
एलेक्स ए।

3

तत्व, ६३ चर

_+2:'\$\$\\varphi\=1\+`[\\cfrac1\{1\+`]?\\[d.]`"dots`[\}`]\$\$`

यह सबसे सीधा-सीधा समाधान है। दुर्भाग्य से, आउटपुट में प्रतीकों की बड़ी मात्रा कार्यक्रम की लंबाई में उल्लेखनीय वृद्धि का कारण बनती है (कार्यक्रम में तार सीधे प्रतीकों को संचालन करने का कारण बनता है)। मुझे यकीन है कि गोल्फ के लिए जगह है, लेकिन मेरे पास अभी और समय नहीं है।

चूँकि यह भाषा अब भी अपेक्षाकृत अज्ञात है, यहाँ दुभाषिया की एक कड़ी है , जिसे पर्ल में लिखा गया है।

_+2:                     take input, add 0 to it to make it a number, and duplicate
'                        put one copy onto the control stack
\$\$\\varphi\=1\+        a "bare" string
`                        output the string
[                        start a for loop, based on the input from earlier
    \\cfrac1\{1\+        a bare string
    `                    output it
]                        end the for loop
?                        test the second copy of the input for non-zero-ness
\\                       a bare \
[d.]                     a "for" loop used as an if block, appends a "d"
`                        output it
dots`                    output dots
"                        get rid of the if condition result so the old result is on top
[                        another for loop, still using the input from earlier
    \}`                  output a }
]                        end for loop
\$\$`                    output $$

तत्व का उपयोग करने के लिए +1! यह एक घरेलू नाम बनने के लिए तत्व का समय है!
एलेक्स ए।

3

टी-एसक्यूएल, 229 227 138

जब से मैंने एक एसक्यूएल उत्तर किया है और हमेशा की तरह यह बहुत ही क्रियात्मक है। संपादित बेशक मैं यह जटिल और सभी में एक पुनरावर्ती पूछताछ जरूरत नहीं थी।

CREATE FUNCTION A(@ INT)RETURNS TABLE RETURN SELECT'$$\varphi=1+\'+REPLICATE('cfrac1{1+\',@)+IIF(@>0,'d','')+'dots'+REPLICATE('}',@)+'$$'S

मूल

CREATE FUNCTION A(@ INT)RETURNS TABLE RETURN WITH R AS(SELECT CAST('$$\varphi=1+\dots'AS VARCHAR(MAX))S,0N UNION ALL SELECT REPLACE(STUFF(S,14,0,'cfrac1{1+\'),'\do','\ddo')+'}',N+1FROM R WHERE N<=@)SELECT S+'$$'S FROM R WHERE N=@

यह एक इनलाइन टेबल फ़ंक्शन बनाता है जो अतिरिक्त cfrac1{1+\पुनरावृत्ति में सामान के लिए एक पुनरावर्ती क्वेरी का उपयोग करता है । डॉट्स को डॉट्स में बदलना महंगा था, लेकिन एक जोड़े को बदली से छुटकारा दिलाया :)। मूल स्ट्रिंग को 'VARCHAR (MAX)' के रूप में थोड़ी लागत देने के लिए।

इसका उपयोग SQLFiddle के रूप में किया जाता है :

SELECT * 
FROM (SELECT N FROM(VALUES(0),(1),(2),(3),(4),(5))A(N)) N
    CROSS APPLY A(N.N)
N   S
--- ---------------------------------------------------------------------------
0   $$\varphi=1+\dots$$
1   $$\varphi=1+\cfrac1{1+\ddots}$$
2   $$\varphi=1+\cfrac1{1+\cfrac1{1+\ddots}}$$
3   $$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$
4   $$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$
5   $$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}}$$

3

रूबी, 76 75 71 70 बाइट्स

यह स्पष्ट रूप से सीधा लगता है, इसलिए कृपया मुझे बताएं कि क्या मैंने कहीं गड़बड़ की है।

संयोग से, यह पहली चीज है जो मैंने कभी रूबी में लिखी है - मैं एक ऐसी भाषा की तलाश कर रहा था जो स्ट्रिंग दोहराव को गुणा करके समर्थन करती थी, और रूबी इस चाल को करने लगती थी।

f=proc{|n|'$$\varphi=1+'+'\cfrac1{1+'*n+'\dd'[0,n+2]+'ots'+'}'*n+'$$'}

इस तरह लागू किया जाए:

f.call(0)
$$\varphi=1+\dots$$

f.call(3)
$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$

@ Sp3000 पूर्व नहीं करता है, क्योंकि रूबी स्पष्ट रूप से बुलियन को पूर्णांकों में परिवर्तित नहीं कर सकता है। उत्तरार्द्ध ने हालांकि काम किया, इसलिए इसके लिए धन्यवाद!
vvye

2

जे, 60 बाइट्स

(<;._2'$$\varphi=1+\ cfrac1{1+\ d dots } $$ ');@#~1,~5$1,],*

उपयोग:

   ((<;._2'$$\varphi=1+\ cfrac1{1+\ d dots } $$ ');@#~1,~5$1,],*) 0
$$\varphi=1+\dots$$

   ((<;._2'$$\varphi=1+\ cfrac1{1+\ d dots } $$ ');@#~1,~5$1,],*) 3
$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$

तरीका:

स्ट्रिंग '$$\varphi=1+\ cfrac1{1+\ d dots } $$ 'को रिक्त स्थान पर काट दिया जाता है और भागों को बार- 1 n signum(n) 1 n 1बार दोहराया जाता है और फिर इन भागों को समतल कर दिया जाता है।

इसे यहाँ ऑनलाइन आज़माएँ।


2

आर, 93 90

अन्य उत्तरों के समान ही। स्कैन टिप के लिए @plannapus को धन्यवाद।

cat('$$\\varphi=1+\\',rep('cfrac1{1+\\',n<-scan()),if(n)'d','dots',rep('}',n),'$$',sep='')

catपेस्ट 0 के बजाय इसका उपयोग किया जाता है क्योंकि परिणाम इसके \\बजाय खत्म हो जाएगा\

उपयोग में

> > cat('$$\\varphi=1+\\',rep('cfrac1{1+\\',n<-scan()),if(n)'d','dots',rep('}',n),'$$',sep='')
1: 3
2: 
Read 1 item
$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$

+1 लेकिन इसके बजाय इसे एक फ़ंक्शन बनाने के लिए, यदि आपके पास उपयोगकर्ता nअपनी पहली घटना पर cat("$$\\varphi=1+\\",rep("cfrac1{1+\\",n<-scan()),if(n)"d","dots",rep("}",n),"$$",sep="")
स्टड के

2

जावास्क्रिप्ट, 114 109 106 85 बाइट्स जॉर्ज रीथ को धन्यवाद

f=n=>'$$\\varphi=1+\\'+((x='cfrac1{1+\\'.repeat(n))&&x+'d')+'dots'+'}'.repeat(n)+'$$'

यह एक कोडगॉल्फ प्रतियोगिता में मेरी पहली प्रविष्टि है! कृपया सुधार करने के लिए मुझे बताएं।

पिछली प्रविष्टि (106 बाइट्स):

w="$$\\varphi=";y=n=>{return a=!n?w+"1+\\dots$$":w+"1+\\cfrac1{".repeat(n)+"1+\\ddots"+"}".repeat(n)+"$$"}

पिछली प्रविष्टि (109 बाइट्स):

x="repeat",w="$$\\varphi=";y=n=>{return a=!n?w+"1+\\dots$$":w+"1+\\cfrac1{"[x](n)+"1+\\ddots"+"}"[x](n)+"$$"}

पिछली प्रविष्टि (114 बाइट्स):

x="repeat";y=n=>{return a=!n?"$$\\varphi=1+\\dots$$":"$$\\varphi="+"1+\\cfrac1{"[x](n)+"1+\\ddots"+"}"[x](n)+"$$"}

ब्राउज़र कंसोल और कॉल में पेस्ट के रूप में f(n)जहां n'कदम' की संख्या है।

सरलीकृत कोड :

function y(n) {
   if(n === 0) {
      return "$$\\varphi=1+\\dots$$";
   } else {
      return "$$\\varphi=" + "1+\\cfrac1{".repeat(n) + "1+\\ddots"+"}".repeat(n)+"$$";
   }

2
x = 'दोहराना' इसे लंबा बनाता है, कम नहीं: उपयोग करें .repeat जैसा है और 3 वर्ण सहेजें
edc65

@ edc65 धन्यवाद !!

pastebin.com/uU7tgFm9 कुछ और सुधार
edc65

: तो जैसे 87 बाइट्स में बनाया जा सकता है pastebin.com/0Hkv9uft
जॉर्ज रीथ

या 85 बाइट्स pastebin.com/k90Fyr2m
जॉर्ज रीथ

1

पायथ - 52 बाइट्स

Pyth में सरल दृष्टिकोण, @ Sp3000 के पायथन समाधान से बहुत अधिक चोरी। स्ट्रिंग स्वरूपण ऑपरेटर का उपयोग करता है %

%"$$\\varphi=1+\%sdots%s$$"(+*"cfrac1{1+\\"Q<\dQ*\}Q

इसे यहाँ ऑनलाइन आज़माएँ

%                  String formatting
 "$$ . . . $$"     String to be formatted
 (                 Tuple (no need to close it)
  +                String concatenation
   *"..."Q         String repetition input times
   <\dQ            If Q>0 then d
  *                String repetition
   \}              The character "}"
   Q               Q times


1

जावास्क्रिप्ट (ईएस 6), 76 80

आंशिक रूप से पुनरावर्ती। सिंगल / डबल डी सबसे कष्टप्रद हिस्सा है।

F=n=>"$$\\varphi=1+\\"+(R=d=>n--?"cfrac1{1+\\"+R("d")+"}":d+"dots")("")+"$$"

फ़ायरफ़ॉक्स / फायरबग कंसोल में टेस्ट करें

> for(i=0;i<5;i++)console.log(F(i))

$$\varphi=1+\dots$$
$$\varphi=1+\cfrac1{1+\ddots}$$
$$\varphi=1+\cfrac1{1+\cfrac1{1+\ddots}}$$
$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}$$
$$\varphi=1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\cfrac1{1+\ddots}}}}$$

0

पायथन, 90 116

चूंकि सबसे कुशल समाधान पहले से ही कई बार पोस्ट किया गया है, मैं इसके बजाय स्ट्रिंग प्रतिस्थापन के साथ जाता हूं

f=lambda n:'$$\\varphi=1+\ddots$$'if n==0 else f(n-1).replace('\ddots','\cfrac{1+\ddots}')
# or, with exactly the same length
x='\ddots';f=lambda n:'$$\\varphi=1+'x+'$$'if n==0 else f(n-1).replace(x,'\cfrac{1+'x+'}')

संपादित करें: लानत, के dotsबजाय अनदेखी कीddots के लिए n=0, अब एक अतिरिक्त खंड पर हमला बोला साथ पुनरावर्ती समाधान प्रतिस्पर्धा करने के लिए बहुत बदसूरत है।

x='$$\\varphi=1+\d%sots$$';f=lambda n:x%''if n==0 else x%'d'if n==1 else f(n-1).replace('\ddots','\cfrac{1+\ddots}')

यह वर्तमान में n=0विशेष मामले (डॉट्स के बजाय डॉट्स) को याद कर रहा है ।
रैंडमरा

0

हास्केल, 86

n%x=[1..n]>>x
f n="$$\\varphi=1+"++n%"\\cfrac1{1+"++'\\':drop(0^n)"ddots"++n%"}"++"$$"

अनिवार्य रूप से सभी समाधानों के समान दृष्टिकोण। drop(0^n)"ddots"हालांकि, प्यारा है!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.