পুনরাবৃত্ত স্ট্রিং প্রতিস্থাপন


25

কাজটি

একটি প্রোগ্রাম বা ফাংশন যা দেওয়া তিন স্ট্রিং লিখুন A, B, Cএকটি আউটপুট স্ট্রিং যেখানে প্রতিটি নিদর্শনের উৎপন্ন Bমধ্যে Aযাও recursively দ্বারা প্রতিস্থাপিত হয়েছে C। Recursively একটি প্রতিকল্পন যেখানে প্রতিটি পদে পদে সব অ ওভারল্যাপিং দৃষ্টান্ত পুনরায় মানে বদলে Bমধ্যে A(সাগ্রহে মনোনীত বাঁ দিক থেকে ডানদিকে) সঙ্গে প্রতিস্থাপিত হয়C যতক্ষণ না Bআর মধ্যে অন্তর্ভুক্ত করা হয় A

ইনপুট আউটপুট

  • আপনি যে কোনও ব্যবহার করতে পারেন I / O এর জন্য ডিফল্ট পদ্ধতি
  • স্ট্রিংগুলিতে কেবল প্রিন্টযোগ্য এএসসিআইআই অক্ষর থাকবে (এবং এতে থাকতে পারে কোনও একটি )।
  • Bকখনই খালি স্ট্রিং হবে না Aএবং Cহতে পারে।
  • স্ট্রিংগুলি প্লেটেক্সট হিসাবে বিবেচনা করা হয়, আপনি উদাহরণস্বরূপ ট্রিট করতে পারবেন না B একটি রেজেক্স প্যাটার্ন হিসাবে ।
  • ইনপুটগুলির কয়েকটি সংমিশ্রণ কখনই শেষ হবে না। আপনার প্রোগ্রামটি সেই ক্ষেত্রে যে কোনও কিছু করতে পারে।

পরীক্ষার মামলা

এগুলি বিন্যাসে রয়েছে: A/B/C\nOutput

Hello, world!/world!/PPCG
Hello, PPCG

Uppercase is up/up/down
Uppercase is down

ababababa/aba/ccc
cccbcccba

delete/e/{empty string}
dlt

{empty string}/no/effect
{empty string}

llllrrrr/lr/rl
rrrrllll

+-+-+-+/+-+/+
+

ababababa/aba/bada
badabbadbada

abaaba/aba/ab
abb

((())())())/()/{empty string}
)

যে উদাহরণগুলি শেষ হয় না:

grow/ow/oow

loop/lo/lo

3
আরেকটি পরীক্ষার কেস:((())())())/()/
কনর ও'ব্রায়েন

@ কনরও'ব্রায়েন যোগ করেছেন
লিও

1
প্রথমদিকে, আমি এটিকে কেস-সংবেদনশীল করতে ব্যর্থ হয়েছি। downpercase is down
ইঞ্জিনিয়ার টোস্ট

উত্তর:


7

05 এ বি 1 , 2 বাইট

`:

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

ব্যাখ্যা

`    # split input to stack
 :   # replace (until string doesn't change)

আমাদের যদি খালি স্ট্রিংয়ের সাথে ডিল করতে না হয় তবে এটি 1 বাইটের: জন্য হতে পারে ।


3
যদি আমি এটি সঠিকভাবে বুঝতে পারি তবে আপনার 4-বাইট সমাধানটি বৈধ। "ইনপুটগুলির কয়েকটি সংমিশ্রণ কখনই শেষ হবে না Your আপনার প্রোগ্রাম এই ক্ষেত্রে যে কোনও কিছু করতে পারে।"
লিও

@Leo। তুমি সঠিক. আমি সেই অংশটি নিয়ে স্কিমেড করেছি :)
এমিগিনা

1
সুতরাং মূলত :এমন একটি বিল্টিন যা পুরো চ্যালেঞ্জ সমাধান করে? আমার বিল্টিনগুলি নিষিদ্ধ করা উচিত ছিল;)
লিও

@ লিও: যদি এটি খালি স্ট্রিংয়ের জন্য না হয় তবে একটি অন্তর্নির্মিত এটি হ্যাঁ সমাধান করবে। এবং খালি স্ট্রিংগুলির সাথে একমাত্র পার্থক্য হ'ল আমাদের উল্লেখ করতে হবে যে এখানে 3 টি ইনপুট রয়েছে, যা অন্যথায় অপারেশন দ্বারা
স্পষ্টভাবে

ভালো কিছু হয় এই সম্ভব?
আদনান

9

পাইথন 2 , 43 বাইট

lambda s,*l:eval('s'+'.replace(*l)'*len(s))

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

ফর্মের একটি স্ট্রিং মূল্যায়ন করে

s.replace(*l).replace(*l).replace(*l) ...

যদি কোনও উপস্থিত থাকে তবে একটি নির্দিষ্ট পয়েন্টে পৌঁছাতে, মূল স্ট্রিংয়ের দৈর্ঘ্যের সমান প্রতিস্থাপন করা যথেষ্ট।


7

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

  • কারিরিং ব্যবহার করে 4 বাইট সংরক্ষণ করা হয়েছে (ধন্যবাদ @ নীল!)

Golfed

c=>b=>R=a=>(x=a.split(b).join(c))==a?x:R(x)

এটি চেষ্টা করুন

Q=c=>b=>R=a=>(x=a.split(b).join(c))==a?x:R(x)

function doit() {
  console.log(Q(C.value)(B.value)(A.value));
}
A: <input type="text" value="abaaba" id="A"/> B: <input type="text" value="aba" id="B"/> C: <input type="text" value="ab" id="C"/> <input type="submit" onclick="doit();" value="REPLACE"/>


বিপরীত ক্রমে আর্গুমেন্টগুলি কারি করে আপনি 4 বাইট সংরক্ষণ করতে পারেন:c=>b=>g=a=>a==(a=a.split(b).join(c))?a:g(a)
নীল


@MetoniemSome combinations of inputs will never terminate. Your program can do anything in those cases.
জেপেলীন্

@ জেপেলিন ওহ, আমি দেখতে পাচ্ছি
মেটোনিয়াম

5

রেটিনা , 27 বাইট

বাইট গণনাটি আইএসও 8859-1 এনকোডিং ধরেছে।

+`(.+)(?=.*¶\1¶(.*))
$2
G1`

ইনপুট লাইনফিড-পৃথক করা উচিত।

এটি অনলাইন চেষ্টা করুন! (সুবিধার্থে, একটি টেস্ট-স্যুট ইনপুট ফর্ম্যাট ব্যবহার করে যেখানে প্রতিটি লাইন স্ল্যাশ-বিচ্ছিন্ন পরীক্ষার ক্ষেত্রে থাকে))


4

সি #, 44 বাইট

সংক্ষিপ্ত সংস্করণ:

r=(a,b,c)=>a==(a=a.Replace(b,c))?a:r(a,b,c);

উদাহরণ প্রোগ্রাম:

using System;

namespace ConsoleApplication1
{
    class Program
    {
    static void Main(string[] args)
        {
            Func<string, string, string, string> r = null;
            r=(a,b,c)=>a==(a=a.Replace(b,c))?a:r(a,b,c);

            Action <string, string, string, string> test =
                (a, b, c, answer) =>
                {
                    var result = r(a, b, c);
                    Console.WriteLine("A: \"{0}\"\r\nB: \"{1}\"\r\nC: \"{2}\"\r\nResult: \"{3}\"\r\n{4}\r\n\r\n",
                        a, b, c, result, result == answer ? "CORRECT" : "INCORRECT"
                        );
                };

            test("Hello, world!", "world!", "PPCG", "Hello, PPCG");
            test("Uppercase is up", "up", "down", "Uppercase is down");
            test("ababababa", "aba", "ccc", "cccbcccba");
            test("delete", "e", "", "dlt");
            test("", "no", "effect", "");
            test("llllrrrr", "lr", "rl", "rrrrllll");
            test("+-+-+-+", "+-+", "+", "+");
            test("ababababa", "aba", "bada", "badabbadbada");
            test("abaaba", "aba", "ab", "abb");
            test("((())())())", "()", "", ")");


            Console.WriteLine("Press any key...");
            Console.ReadKey();
        }
    }
}

ব্যাখ্যা: ফাংশনটি লেজ রিকার্সিভ এক্সপ্রেশন হিসাবে লেখা হয়েছে, নিম্নলিখিতগুলি ব্যবহার করে রিটার্ন কীওয়ার্ড এবং কোঁকড়ানো বন্ধনীগুলি এড়িয়ে চলে:

  • প্রথম বন্ধনী মধ্যে একটি অ্যাসাইনমেন্ট নির্ধারিত মান প্রদান করে
  • সমতা পরীক্ষার বাম দিকটি ডান পাশের কার্যভারের আগে মূল্যায়ন করা হবে, আমাদেরকে ইনলাইন করার আগে / পরে তুলনা করার অনুমতি দেয় এবং ফলাফলটি অ্যাক্সেস করতে পারে

এটি আমাদের একক বিবৃতিতে রাখতে দেয়।

সম্পাদনা: ফাংশন আর এর ধরণ বাদ দিয়ে ফিরে গিয়েছিলেন, যেহেতু এটি গ্রহণযোগ্য বলে মনে হচ্ছে। অ্যারে ব্যবহার করে টাইপ ডিক্লেয়ারেশন সহ এটি 68 টি অক্ষর। ছাড়া, এটি 44 টি অক্ষর।


যদি নির্দিষ্ট নাম দেওয়া হয় তবে যদি ফাংশনটি কাজ করে তবে ফাংশনটি সেই নামটি দেওয়ার জন্য আপনাকে বাইটগুলি ব্যয় করতে হবে। এটি r=ঘোষণার জন্য 2 বাইট বা আরও অনেক কিছু কিনা তা আমার কাছে তাত্ক্ষণিকভাবে স্পষ্ট নয় (আংশিক কারণ আমি নিয়মগুলি সম্পূর্ণরূপে জানি না, আংশিক কারণ আমি এগুলিকে প্রয়োগ করার জন্য সি # তে ভাল জানি না)।

হ্যাঁ, আমি ঠিক ঠিক করেছিলাম যে অন্য এন্ট্রি নিয়ে অন্য কারও মন্তব্য পড়ার পরে। এবং এটি আরও অনেক, যেহেতু প্রকারগুলি অবশ্যই নির্দিষ্ট করা উচিত। আমি এটি সংরক্ষণ করতে একটি অ্যারে ব্যবহার করে সরিয়েছি এবং পুনরাবৃত্তির কলটিতে বাইটগুলি সংরক্ষণ করি।
ড্যানিয়েল

আপনি কী বোঝাতে চেয়েছেন সঠিক আউটপুট উত্পাদন করে না ? আমি মনে করি না যে আপনাকে ইনপুট আউটপুট করতে হবে, আসলে, অন্যান্য উত্তরগুলির মধ্যে কিছু এটি করে না। আমার কি ইনপুট আউটপুট লাগানো দরকার বলে একটি মন্তব্য মিস করেছেন?
auhmaan

কিছু মনে করি না, আমি সমস্যাটি খুঁজে পেয়েছি, এটি পুনরাবৃত্ত হয় না।
auhmaan

2

জাপট , 15 বাইট

@¥(U=UqV qW}a@U

এটি অনলাইন পরীক্ষা!

কিভাবে এটা কাজ করে

@¥(U=UqV qW}a@U  // Implicit: U, V, W = input strings
            a@U  // Return the first non-negative integer mapped by the function X => U
@          }     // that returns truthily when mapped through this function:
     UqV qW      //   Split U at instances of V, and rejoin with W.
  (U=            //   Set U to this new value.
 ¥               //   Return (old U == new U). This stops the loop when U stops changing.
                 // Implicit: output result of last expression

জাপ্টটিতে অন্তর্নির্মিত পুনরাবৃত্তি-প্রতিস্থাপন রয়েছে, তবে এটি প্রথম ইনপুটটিকে রেজেক্স হিসাবে দেখবে। যদি ইনপুটগুলিতে কেবলমাত্র বর্ণমালার অক্ষর থাকে তবে এই থ্রি-বাইট সমাধানটি কার্যকর হবে:

eVW

ইনপুট ছাড়া কোনো গৃহস্থালির কাজ ধারণ করার অনুমতি দেওয়া ছিল ^, \অথবা ], এই 12-বাইট সমাধান বৈধ হতে হবে পরিবর্তে:

eV®"[{Z}]"ÃW

2

সি #, 33 49 বাইট

সম্ভবত, সি # তে লিখিত একটি ক্ষুদ্রতম স্নিপেটগুলির ... এবং যেহেতু কাঠামোর Replaceস্থানীয় string, তাই এর কোনও দরকার নেই using( কমপক্ষে ভিএস অন্তর্নির্মিত বৈশিষ্ট্যে নয়, সি # ইন্টারেক্টিভ ... )

এছাড়াও, যেহেতু Bসর্বদা একটি মান থাকে তাই কোডটির কোনও বৈধতার প্রয়োজন হয় না।


Golfed

(a,b,c)=>{while(a!=(a=a.Replace(b,c)));return a;}

Ungolfed

(a, b, c) => {
    while( a != ( a = a.Replace( b, c ) ) );

    return a;
}

সম্পূর্ণ কোড

using System;

namespace Namespace {
    class Program {
        static void Main( string[] args ) {
            Func<string, string, string, string> func = (a, b, c) => {
                // Recursively ( now truly recursive ) replaces every 'b' for 'c' on 'a',
                // while saving the value to 'a' and checking against it. Crazy, isn't it?
                while( a != ( a = a.Replace( b, c ) ) );

                return a;
            };

            int index = 1;

            // Cycle through the args, skipping the first ( it's the path to the .exe )

            while( index + 3 < args.Length ) {
                Console.WriteLine( func(
                    args[index++],
                    args[index++],
                    args[index++]) );
            }

            Console.ReadLine();
        }
    }
}

রিলিজ

  • v1.1 - +19 bytes- স্থির সমাধান পুনরাবৃত্তিযোগ্য না।
  • v1.0 -  33 bytes- প্রাথমিক সমাধান।

1
আমি সি # আই দেখেছি
নেলজ

@ নেলসন ক্যাসানোভা আমার মত মনে হচ্ছে
মেটোনিয়াম

না Replaceরিকার্সিভ প্রতিস্থাপন সঞ্চালন?
লাইকনি

@ লাইকনি নং উদাহরণস্বরূপ, "((())())())".Replace("()", "")ফেরৎ (()))
auhmaan

তাহলে এই সমাধানটি চ্যালেঞ্জের নিয়মের অধীনে বৈধ নয়। ডাউনভোটগুলি রোধ করতে আপনার এটিকে মুছে ফেলা উচিত, তারপরে পুনরাবৃত্ত প্রতিস্থাপন পরিচালনা করতে আপনার সমাধানটি ঠিক করুন এবং শেষ পর্যন্ত এটি মুছে ফেলুন।
লাইকনি

1

প্রক্রিয়াজাতকরণ, 75 72 বাইট

void g(String a,String[]s){for(;a!=(a=a.replace(s[0],s[1])););print(a);}

ফলাফল মুদ্রণ। এটিকে কল করুনg("llllrrrr", new String[]{"lr","rl"});

void Q110278(String a, String[]s){             //a is the string to be replaced
                                               //s is the array containing the subsitution

  for(; a!=                                    
            (a = a.replace(s[0], s[1])) ;);

  //for-loop where we continuously perform substitution on a
  //until a is equal to substituted a


  //at the end, print the final version of a
  print(a);
}

1

গণিত, 35 32 বাইট

#//.x_:>StringReplace[x,#2->#3]&

অনুক্রম হিসাবে দেওয়া যুক্তি। কখনও জন্য বন্ধ growউদাহরণস্বরূপ, আয় loopজন্য loopউদাহরণ। মার্টিনের পরামর্শের জন্য তিন বাইট বন্ধ।


FixedPointখুব দীর্ঘ হতে থাকে এবং এর সাথে অনুকরণ করা যায় //.:#//.x_:>StringReplace[x,#2->#3]&
মার্টিন এন্ডার

ধন্যবাদ @ মার্টিনএেন্ডার ReplaceRepeatedস্ট্রিংয়ের জন্য কাজ করার এটি একটি ভাল উপায় !
একটি সিমন্স

BTW, এই শুধুমাত্র লুপ হবে $RecursionLimitবার, যা 2^16ডিফল্টভাবে, এটি আপনার উত্তর প্রভাবিত না যে
ngenisis

@ জেনেজিস আমি নিশ্চিত না যে ReplaceRepeatedএটি দ্বারা নিয়ন্ত্রিত হয় $RecursionLimit- আমি সবেমাত্র 20 সীমা নির্ধারণ করে এটি পরীক্ষা করেছিলাম এবং প্রোগ্রামটি এখনও আনন্দের সাথে শেষ না করে ইনপুট দেওয়ার জন্য লুপ হয়ে যায় ..
একটি সিমন্স

কারণ ReplaceRepeatedএকটি পৃথক বিকল্প রয়েছে (যা //.সিনট্যাক্সের সাহায্যে ব্যবহার করা যায় না ), বলা হয় MaxIterationsএটি একটি ডিফল্ট 2 ^ 16। (সিসি @ এনজেনিসিস)
মার্টিন এন্ডার

1

রুবি, 29 বাইট

->a,b,c{1while a.gsub! b,c;a}

3 টি যুক্তি দেওয়া হয়েছে, বিকল্পের কিছু না পাওয়া পর্যন্ত প্রথমটিতে প্রতিস্থাপন প্রয়োগ করুন।

ব্যাখ্যা

  • 1whileসহজভাবে একটি ন্যাপ আগে
  • gsub!স্ট্রিংটি প্রদান করে বা nilকোনও বিকল্পের ঘটনা ঘটলে


1

/// , 3 বাইট

///

প্রথম স্ল্যাশের পরে স্ট্রিং বি রাখুন, দ্বিতীয়টির পরে সি এবং শেষে এ, অর্থাৎ:

/<B>/<C>/<A>

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


আমি মনে করি না যে এটি ইনপুট গ্রহণের গ্রহণযোগ্য উপায়
লিও

আমার জানা মতে, ///অন্য কোনও উপায়ে ইনপুট গ্রহণ করে না।
স্টেইনবার্গ

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

1

জাভাস্ক্রিপ্ট (ফায়ারফক্স 48 বা তার আগের), 43 বাইট

c=>b=>g=a=>a==(a=a.replace(b,c,'g'))?a:g(a)

বিপরীত ক্রমে তর্কযুক্ত তর্ক করে। ফায়ারফক্সে একটি অ-মানক তৃতীয় প্যারামিটার ছিল replaceযা রেজিএক্সপ্যাক ফ্ল্যাগ নির্দিষ্ট করে। এই প্যারামিটারটি ফায়ারফক্স 49-এ সরানো হয়েছে।


0

স্মাইলব্যাসিক, 72 68 বাইট

I=0DEF R A,B,C
I=INSTR(A,B)?A*(I<0)A=SUBST$(A,I,LEN(B),C)R A,B,C
END

একটি বিরল ক্ষেত্রে যেখানে একটি ফাংশন করা আসলে হ'ল স্মাইলব্যাসিকের ছোট is


0

জাভাস্ক্রিপ্ট 130 বাইট

f=(a,b,c)=>a.indexOf(b)<0?a:f(eval("a.replace(/"+b.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g,"\\$&")+"/g,c)"),b,c)

জাভাস্ক্রিপ্ট কেবল তখনই একসাথে সমস্ত প্রতিস্থাপন করবে যদি আপনি এটিকে একটি রেজেক্স দেন। এই রেজেক্সটি সমস্ত মানের জন্য কাজ করার জন্য, রেজেক্সের জন্য ব্যবহৃত সমস্ত অক্ষরকে পালানো সংস্করণ দিয়ে প্রতিস্থাপন করা দরকার। অবশেষে, প্রতিস্থাপকটি খ এর সাথে বি এর সমস্ত দৃষ্টান্ত সি এর সাথে প্রতিস্থাপনের জন্য মূল্যায়ন করা হয় এবং এটি আবার ফাংশনে ফিরে যায়।



0

চেডার, 37 বাইট

(a,b,c)f->a has b?f(a.sub(b,c),b,c):a

ফোনে তাই টিআইও লিঙ্কটি যুক্ত করা কিছুটা কঠিন। মূলত পুনরাবৃত্তি ব্যবহার করে যখন খ হয় a তে হয়। সমাধান হতে পারে (a,b,c)->a.sub(Regex{b,"cr"},c)তবে কোনও কারণে কাজ করে না।


সাব কি সব বা কেবল প্রথম প্রতিস্থাপন করে?
fəˈnɛtɪk

@ লিওটেলাকগুলি কারণ তারা স্ট্রিং sসব সব প্রতিস্থাপন করবে
ডাউনগোট

এটা কি কাজ বলে মনে হচ্ছে না? এটি অনলাইন চেষ্টা করুন!
কনর ও'ব্রায়েন

@ কনরও'ব্রায়েন বোকা মূর্খ ভুলের দিকগুলি বন্ধ রয়েছে
ডাউনগোট

0

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

{$^b;$^c;($^a,{S:g/$b/$c/}...*eq*)[*-1]}

এটি ব্যবহার করে দেখুন (যদি tio.run আপডেট হয়ে যায়)
একটি পরিবর্তিত সংস্করণ চেষ্টা করুন

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

{
  $^b;           # declare second parameter ( not used here )
  $^c;           # declare third parameter  ( not used here )

  (

    $^a,         # declare first parameter, and use it to seed the sequence

    {S:g/$b/$c/} # replace globally

    ...          # keep doing that

    * eq *       # until there are two that match

  )[*-1]
}


0

পিএইচপি, 102 বাইট

list($n,$s,$a,$b)=$argv;$f=str_replace($a,$b,$s);while($s!=$f){$s=$f;$f=str_replace($a,$b,$s);}echo$f;

পরীক্ষার কেস (ক্রিয়ামূলক)

লুপ ত্রুটির সাথে টেস্ট কেস


নমস্কার! সাধারণত, কোনও ফাংশন জমা দেওয়ার সময়, আপনাকে ফাংশনটি সংজ্ঞায়িত করার জন্য প্রয়োজনীয় সমস্ত জিনিসকে বাইটাউন্টে যুক্ত করা উচিত (আপনার ক্ষেত্রে function replace(...){...}, অন্যথায় আপনার জমাটি কেবল একটি স্নিপেট, যা ডিফল্টরূপে অনুমোদিত নয়
লিও

@ লিও তা জানতেন না, আমার উত্তর সম্পাদনা করেছেন;)
roberto06

0

জাভা - 157 বাইট

String r(String f){if(f.length()<1)return "";String[]x=f.split("/");if(x[0].contains(x[1]))return r(x[0].replace(x[1],x[2])+'/'+x[1]+'/'+x[2]);return x[0];}

খালি ইনপুট জন্য এটি একটি খালি স্ট্রিং প্রদান করে।

খালি থাকলে StackOverflowExceptionত্রুটিযুক্ত ক্রাশ Bবা এটি এর মতো ডেটা দিয়ে খাওয়ানো হয় A/A/A

কিভাবে এটা কাজ করে:

r("ABCD/A/F") returns value of r("FBCD/A/F") which returns FBCD
If there is no more characters to be replaced it returns the final output

মন্তব্য সহ অসলোফড কোড কোড:

String r (String f) {
    if(f.length() < 1)
        return ""; // For empty input return empty output
    String[] x = f.split("/"); // Get all 3 parameters
    if (x[0].contains(x[1])) // If input contains replaced value
        return r(x[0].replace(x[1],x[2])+'/'+x[1]+'/'+x[2]); // Return value of r() with one character replaced
    return x[0]; // If nothing to replace return the output(modified input)
}

0

অটোহটকি, 87 বাইট

StringCaseSense,On
Loop{
IfNotInString,1,%2%,Break
StringReplace,1,1,%2%,%3%
}
Send,%1%

%1%, %2%এবং হ'ল %3%প্রথম 3 টি আর্গুমেন্ট কোনও ফাংশনে পাস করা
যদি কোনও ফাংশনটি একটি চলক যুক্তির প্রত্যাশা করে তবে এসগুলি %বাদ দেওয়া
হয় কেস-সংবেদনশীলতা সেটিংস পরিবর্তন করতে 19 বাইট খরচ হয় তবে এটি না করে আপনি জিনিসগুলি পেয়ে যান downpercase is down

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