আমি একটি সংখ্যার কথা ভাবছি (কপিস থ্রেড)


32

ডাকাত থ্রেড এখানে

এই চ্যালেঞ্জের পুলিশরা একটি ইতিবাচক পূর্ণসংখ্যার কথা চিন্তা করবে। তারপরে তারা এমন একটি প্রোগ্রাম বা ফাংশন লিখবে যা ইনপুট হিসাবে নম্বর সরবরাহ করার সময় একটি মান এবং অন্য সমস্ত ধনাত্মক পূর্ণসংখ্যার ইনপুটগুলির জন্য অন্য মানকে আউটপুট করে। এরপরে কোডগুলি নম্বরটি গোপন রেখে একটি উত্তরে প্রোগ্রামটি প্রকাশ করবে। ডাকাতরা নম্বর খুঁজে পেয়ে একটি উত্তর ক্র্যাক করতে পারে।

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

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

ক্রিপ্টোগ্রাফিক ফাংশন ব্যবহার

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


1
যদি আপনি ক্রিটোগ্রাফিক ফাংশনগুলিকে অনুমতি দেন তবে আমি প্রোগ্রামগুলিতে একটি সময়সীমা রাখার পরামর্শ দেব।
Okx

12
আমি এই চ্যালেঞ্জটিকে অগ্রাহ্য করেছি কারণ বেশিরভাগ ভাষায় ম্যাপিং অ্যালগরিদম বা একটি সাধারণ লুপ ব্যবহার করে এটি সহজেই ফাটানো যায়। আমি বিবেচনা করি যে পুলিশ এবং ডাকাতদের চ্যালেঞ্জের জন্য কিছুটা সহজ ।
মিঃ এক্সকোডার

2
আমার মনে হচ্ছে এমন অনেক পুলিশ হতে চলেছে যারা একজনকে (সম্ভবত সবচেয়ে ছোট) স্বীকৃত মান জানে তবে আরও সঠিক উত্তর বা সেগুলি কী তা জানি না।
হিস্টোক্র্যাট

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

1
@WheatWizard আমি অনুমান এটা বিজয়ী হবে না, কিন্তু এটা যেমন একটি প্রোগ্রাম যে শুধু ইনপুট তুলনা ফাটল সম্ভব হবে না A(9,9)যেখানে Aআকারম্যান ফাংশন।
flawr

উত্তর:


10

ট্যাম্পিও , ক্র্যাকড

m:n tulos on luvun funktio tulostettuna m:ään, missä luku on x:n kerrottuna kahdella seuraaja, kun x on luku m:stä luettuna
x:n funktio on luku sadalla kerrottuna sadalla salattuna, missä luku on x alempana sadan seuraajaa tai nolla
x:n seuraajan edeltäjä on x
x:n negatiivisena edeltäjä on x:n seuraaja negatiivisena
nollan edeltäjä on yksi negatiivisena
x salattuna y:llä on örkin edeltäjä, missä örkki on x:n seuraajan seuraaja jaettuna y:llä korotettuna kahteen
sata on kiven kolo, missä kivi on kallio katkaistuna maanjäristyksestä
kallio on yhteenlasku sovellettuna mannerlaatan jäseniin ja tulivuoren jäseniin
tulivuori on nolla lisättynä kallioon
mannerlaatta on yksi lisättynä mannerlaattaan
maanjäristys on kallion törmäys
a:n lisättynä b:hen kolo on yhteenlasku kutsuttuna a:lla ja b:n kololla
tyhjyyden kolo on nolla
x:n törmäys on x tutkittuna kahdellatoista, missä kaksitoista on 15 ynnä 6
x ynnä y on y vähennettynä x:stä

সাথে চালান:

python3 suomi.py file.suomi --io

দোভাষা ইনস্টল করার জন্য নির্দেশাবলী গিথুব পৃষ্ঠায় অন্তর্ভুক্ত করা হয়েছে। এটি চালাতে আপনার কোনও অসুবিধা আছে কিনা তা জানান।

সিউডোকোডে প্রোগ্রাম। প্রোগ্রামটি খুব ধীরে ধীরে সম্পাদন করে কারণ আমার দোভাষী দুর্বল। এছাড়াও, আমি কোনও অপ্ট-ইন অপ্টিমাইজেশন উপলব্ধ নেই, যা মূল্যায়নের সময়টিকে কয়েক মিনিট থেকে প্রায় 10 সেকেন্ডে কমিয়ে আনতে পারে।


1
ট্যাম্পিওর জন্য কোনও অনলাইন দোভাষী নেই?
শেগি

দুর্ভাগ্যক্রমে এটি সম্ভবত টিআইওতে যুক্ত করা যেতে পারে কিনা তা আমার জিজ্ঞাসা করা উচিত।
ফার্গুসক


5

পার্ল 6 - ক্র্যাকড!

কঠোর অর্থে, এটি একটি গ্রহণযোগ্য জমা নয় কারণ এটি জয়ের পক্ষে খুব চেষ্টা করে না। পরিবর্তে, এটি একটি সুন্দর ধাঁধা অফার আশা করি।

এটি একটি "খাঁটি গণিত" প্রোগ্রাম যা মনন দ্বারা ক্র্যাক করা উদ্দেশ্য। আমি নিশ্চিত যে আপনি সমাধানটি কার্যকর করতে পেরেছিলেন (উদ্দেশ্যমূলকভাবে প্রতিশ্রুতিবদ্ধ কিছু ঝাঁঝরা প্রোগ্রামিং সাফ করার পরে), তবে "সম্পূর্ণ কৃতিত্ব" (: -) এর জন্য, আপনি গণিতের ভিত্তিতে এটি কী করে তা ব্যাখ্যা করতে সক্ষম হবেন ।

sub postfix:<!>(Int $n where $n >= 0)
{
	[*] 1 .. $n;
}

sub series($x)
{
	[+] (0 .. 107).map({ (i*($x % (8*π))) ** $_ / $_! });
}

sub prefix:<∫>(Callable $f)
{
	my $n = 87931;
	([+] (0 .. $n).map({
		π/$n * ($_ == 0 || $_ == $n ?? 1 !! 2) * $f(2 * $_/$n)
	})).round(.01);
}

sub f(Int $in where $in >= 0)
{
	 { series($_)**11 / series($in * $_) }
}

আপনার f () ফাংশনটি ক্র্যাক করার কথা। (এটি সেই ফাংশন যা একটি প্রাকৃতিক সংখ্যা নিয়ে যায় এবং দুটি ফলাফলের মধ্যে একটির ফলাফল দেয়)) সতর্কতা: @ নাইট্রডনের দেখানো হিসাবে, প্রোগ্রামটি আসলে ভুল আচরণ করে এবং অসীম সংখ্যার ইনপুটকে "গ্রহণ করে" । যেহেতু এটি কীভাবে ঠিক করা যায় সে সম্পর্কে আমার কোনও ধারণা নেই, আমি কেবল ভবিষ্যতের সমাধানকারীদের জন্য মন্তব্য করছি যে আমার মনে যে সংখ্যাটি ছিল তা 70000 এর চেয়ে কম

আপনি Tio এই চালানোর চেষ্টা, এটা হবে আউট সময়। এটা ইচ্ছাকৃত। (যেহেতু এটি মোটেও চালানোর কথা নয়!)

শেষ অবধি, আমি কিছু যুক্তিসঙ্গতভাবে পরিষ্কার কোড লিখতে চেষ্টা করেছি। আপনি ভাষার সাথে পরিচিত না হলেও আপনার বেশিরভাগই এটি সাবলীলভাবে পড়তে সক্ষম হওয়া উচিত। দুটি মাত্র মন্তব্য: বর্গাকার বন্ধনী [ অপ ] এর অর্থ হ্রাস করা ("ভাঁজ", হাস্কেল লিঙ্গো) অপারেটর অপের সাথে একটি তালিকা ; এবং উপ বলা postfix:<!>আসলে একটি পোস্টফিক্স অপারেটর নামের সংজ্ঞা দেয়! (যেমন ব্যবহৃত যেমন 5!- এটি আপনার প্রত্যাশা মতো করে তোলে)। একইভাবে prefix:<∫>এক জন্য।

আমি আশা করি যে কেউ এটিকে উপভোগ করেছেন তবে আমি নিশ্চিত না যে আমার অসুবিধাটি ঠিকঠাক হয়েছে কিনা if মন্তব্যগুলিতে আমাকে নির্দ্বিধায় নির্দ্বিধায় :—)।

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



4

জাভাস্ক্রিপ্ট, ক্র্যাকড

আমি এটি যতটা পারি ঠিক ততই আপত্তি জানিয়েছি যেখানে এটি এই উত্তরের সাথে ফিট করতে পারে না।

এখানে চেষ্টা করুন! রান ক্লিক করুন, তারপরে কনসোলে টাইপ করুনguess(n)

আপনি যদি ভুল উত্তর পেয়ে থাকেন তবে অপরিবর্তিত থাকে, অন্যথায় সত্য হয়।

সম্পাদনা করুন: আমি আমার স্কোর নম্বর হওয়ায় অংশটি উপেক্ষা করেছি। ওহ ভাল, আমার নম্বরটি খুব বড়। শুভকামনা যাইহোক এটি সমাধান।



3

জেলি , স্কোর: ... 1 ( ক্র্যাকড )

5ȷ2_c⁼“ḍtṚøWoḂRf¦ẓ)ṿẒƓSÑÞ=v7&ðþạẆ®GȯżʠṬƑḋɓḋ⁼Ụ9ḌṢE¹’

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

1 সত্যিই আমার কাছে এটি প্রকাশ করার প্রত্যাশা ছিল? চলে আসো! ওহ ভাল, এর স্কোর 134 আছে। সেখানে, আমি এটি বলেছি!



@ মিঃ এক্সকোডার এটি দীর্ঘকাল বেঁচে ছিলেন ...
এরিক দ্য আউটগল্ফার

আমি কেবল যুক্ত করেছি Ç€Gএবং 1...1000ইনপুট হিসাবে পরিসীমাটি : পি
মিঃ এক্সকোডার

তোমরা দেখেছিলে 5ȷ2_অংশ ঠিক আছে?
এরিক দ্য আউটগল্ফার

না, আমি কোড লওলের দিকেও তাকাইনি। সবেমাত্র পরীক্ষার স্যুট যুক্ত করে দেখেছি কোথায় 1আছে, তারপরে আমি শুরু থেকে 1একটি পাইথন স্ক্রিপ্টে স্ট্রিংটি আটকে রেখেছি এবং এর আগে শূন্যের সংখ্যা গণনা করেছি ...
মিঃ এক্সকোডার

3

পাইথন 2 (ক্র্যাকড)

আমি জোর বলার পরামর্শ দেব না। আশা করি আপনি জেনারেটর পছন্দ করবেন!

print~~[all([c[1](c[0](l))==h and c[0](l)[p]==c[0](p^q) for c in [(str,len)] for o in [2] for h in [(o*o*o+o/o)**o] for p,q in [(60,59),(40,44),(19,20),(63,58),(61,53),(12,10),(43,42),(1,3),(35,33),(37,45),(17,18),(32,35),(20,16),(22,30),(45,43),(48,53),(58,59),(79,75),(68,77)]] + [{i+1 for i in f(r[5])}=={j(i) for j in [q[3]] for i in l} for q in [(range,zip,str,int)] for r in [[3,1,4,1,5,9]] for g in [q[1]] for s in [[p(l)[i:i+r[5]] for p in [q[2]] for i in [r[5]*u for f in [q[0]] for u in f(r[5])]]] for l in s + g(*s) + [[z for y in [s[i+a][j:j+r[0]] for g in [q[0]] for a in g(r[0])] for z in y] for k in [[w*r[0] for i in [q[0]] for w in i(r[0])]] for i in k for j in k] for f in [q[0]]]) for l in [int(raw_input())]][0]

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

অন্যথায় 1সঠিক সংখ্যার আউটপুট 0



@ লিক্যনুন বাহ, আমি প্রত্যাশার চেয়ে কিছুটা দ্রুত।
সিসিফাস

অনলাইনে সুডোকু সমাধানকারী সন্ধান করা কঠিন নয়।
লিকি নুন

আপনার সুডোকু পরীক্ষকটিতে কিছু সমস্যা আছে: আপনি অনুভূমিক রেখা এবং উল্লম্ব লাইনগুলি ঠিকঠাকভাবে পরীক্ষা করেছেন, তবে আপনি কেবল প্রথম তিনটি ঘর পরীক্ষা করেছেন।
লিকি নুন

@ ল্যাকইনুন আপনি ঠিক বলেছেন, একটি aহওয়া উচিত i+a। আমি এটি সংশোধন করেছি, কিন্তু তবুও এটি কর্কশ হচ্ছে অসহায়তা
সিসিফাসের

3

হাস্কেল , ফাটল

এটি খাঁটি অঙ্কের উপর ভিত্তি করে। নোটটি myfunহ'ল আসল ফাংশন, যদিও hএটি কেবল একটি সহায়ক ফাংশন।

h k = sum $ map (\x -> (x*x)**(-1) - 1/(x**(2-1/(fromIntegral k)))) [1..2*3*3*47*14593]
myfun inp | inp == (last $ filter (\k -> h k < (-7.8015e-5)  )[1..37*333667-1]) = 1
          | otherwise = 0

main = print $ show $ myfun 42 -- replace 42 with your input

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


প্রোগ্রামটি সমস্ত ইনপুটগুলিতে ত্রুটি ছাড়াই শেষ করতে হবে। এটি কি সীমাহীন স্মৃতিতে এক দিনের মধ্যেই শেষ হয়?
michi7x7

আপনার বেশ কিছুটা স্মৃতি দরকার কিন্তু আপনার অবশ্যই সীমাহীন মেমরির প্রয়োজন নেই। এটি সম্ভবত বাস্তবায়নের উপর এবং আপনার হার্ডওয়ারের উপর নির্ভর করে। তবে স্পষ্টতই এটি শক্তিশালী আক্রমণকে শক্ত করতে এবং প্রোগ্রামটি বিশ্লেষণ করতে উত্সাহিত করার জন্য গণনা করতে কিছুটা সময় নেওয়ার জন্য ডিজাইন করা হয়েছে। শুভ কামনা :)
flawr


2

জাভা, নাইট্রডন ক্র্যাকড

import java.math.BigDecimal;

public class Main {
    private static final BigDecimal A = BigDecimal.valueOf(4);
    private static final BigDecimal B = BigDecimal.valueOf(5, 1);
    private static final BigDecimal C = BigDecimal.valueOf(-191222921, 9);
    private static BigDecimal a;
    private static BigDecimal b;
    private static int c;

    private static boolean f(BigDecimal i, BigDecimal j, BigDecimal k, BigDecimal l, BigDecimal m) {
        return i.compareTo(j) == 0 && k.compareTo(l) >= 0 && k.compareTo(m) <= 0;
    }

    private static boolean g(int i, int j, BigDecimal k) {
        c = (c + i) % 4;
        if (j == 0) {
            BigDecimal l = a; BigDecimal m = b;
            switch (c) {
                case 0: a = a.add(k); return f(C, b, B, l, a);
                case 1: b = b.add(k); return f(B, a, C, m, b);
                case 2: a = a.subtract(k); return f(C, b, B, a, l);
                case 3: b = b.subtract(k); return f(B, a, C, b, m);
                default: return false;
            }
        } else {
            --j;
            k = k.divide(A);
            return g(0, j, k) || g(1, j, k) || g(3, j, k) || g(3, j, k) || g(0, j, k) || g(1, j, k) || g(1, j, k) || g(3, j, k);
        }
    }

    private static boolean h(int i) {
        a = BigDecimal.ZERO; b = BigDecimal.ZERO; c = 0;
        return g(0, i, BigDecimal.ONE);
    }

    public static void main(String[] args) {
        int i = Integer.valueOf(args[0]);
        System.out.println(!h(i) && h(i - 1) ? 1 : 0);
    }
}

আমি স্বাভাবিক হ্যাশ এবং র্যান্ডম ফাংশনগুলির চেয়ে আলাদা কিছু চেষ্টা করতে চেয়েছিলাম। আপনি কমান্ড লাইন আর্গুমেন্ট হিসাবে নম্বরটি পাস করতে পারেন। 1সঠিক নম্বর দেওয়া থাকলে এবং 0অন্যথায় আউটপুট । স্বল্প সংখ্যার জন্য আপনি এটি অনলাইনেও দেখতে পারেন ।

ইঙ্গিত:

প্রোগ্রামটির মূল অংশটি একটি খুব সুপরিচিত অ্যালগরিদমের বৈকল্পিক প্রয়োগ করে । এটি কী করে তা আপনি একবার জানতে পারলে, আপনি গোপন নম্বর গণনা করার জন্য প্রদত্ত প্রোগ্রামটিকে অপ্টিমাইজ করতে সক্ষম হবেন।

ব্যাখ্যা:

এই প্রোগ্রামটি সুপরিচিত কোচ কার্ভের চতুর্ভুজ বৈকল্পিক (টাইপ 2) এর ট্রভারসাল বাস্তবায়ন করে ( উইকিপিডিয়া থেকে চিত্র): গোপন সংখ্যাটি প্রথম পুনরাবৃত্তি যা বিন্দু (বি, সি) দিয়ে যায় না। নাইট্রডন দ্বারা সঠিকভাবে স্বীকৃত হিসাবে , প্রথম পুনরাবৃত্তি বাদে আমরা নিরাপদে বক্রাকার সমস্ত অংশের পুনরাবৃত্তি উপেক্ষা করতে পারি, যা প্রদত্ত বিন্দুটি অতিক্রম করে না। সেই অনুসারে মূল প্রোগ্রামে একটি লাইন পরিবর্তন করে আমরা অনলাইনে দোভাষীতেও সঠিক নম্বরটি পরীক্ষা করতে পারি ।

Quadratic_Koch_curve_type2_iterations.png


ফেটে গেছে , আমার মনে হয়; সরাসরি সময় যাচাই করার জন্য চলমান সময়টি খুব দীর্ঘ, তবে আমি সহজ মানগুলির সাথে পরীক্ষা করেছি এবং আমার ক্র্যাকটি কার্যকর বলে মনে হচ্ছে।
নাইট্রডন

1

পাইথ, এরিক দি আউটগল্ফার দ্বারা ক্র্যাকড *

আমি এটি যথাসম্ভব উদ্বিগ্ন করার চেষ্টা করেছি।

hqQl+r@G7hZ@c." y|çEC#nZÙ¦Y;åê½9{ü/ãѪ#¤
ØìjX\"¦Hó¤Ê#§T£®úåâ«B'3£zÞz~Уë"\,a67Cr@G7hZ

এখানে চেষ্টা করুন!

* সংখ্যা ছিল 9।



1

অষ্টাভ, স্কোর: ???

এটি বেশ গ্যারান্টিযুক্ত যে অন্য কোনও সংখ্যার সংখ্যার তালিকার শেষে 20 টি এলোমেলো সংখ্যা থাকবে না 1e8

function val = cnr(num)
rand("seed", num);
randomints = randi(flintmax-1,1e4,1e4);
val = isequal(randomints(end+(-20:0))(:), ...
 [7918995738984448
  7706857103687680
  1846690847916032
  6527244872712192
  5318889109979136
  7877935851634688
  3899749505695744
  4256732691824640
  2803292404973568
  1410614496854016
  2592550976225280
  4221573015797760
  5165372483305472
  7184095696125952
  6588467484033024
  6670217354674176
  4537379545153536
  3669953454538752
  5365211942879232
  1471052739772416
  5355814017564672](:));
end

অন্যথায় 1, গোপন নম্বরটির আউটপুট 0

আমি অক্টোপা ৪.২.০ এ এটি চালিয়েছি।


"ব্রুটেফোর্সিংয়ের সময় ঘুম এবং অন্যান্য ধীরগতিগুলি সরানো যেতে পারে।"

শুভকামনা যে :)


এটি এমনকি
টিওতেও

1
@ ওএক্সএক্স এটি টিআইওর সময় শেষ হয়ে যায়, তবে এটি ডেস্কটপ সংস্করণে চলে।

1
ডাউনটা কেন?
গম উইজার্ড

3
@ ওয়েট উইজার্ড সম্ভবত তাত্ত্বিকভাবে সম্ভব যে এটির একাধিক সংখ্যা রয়েছে। এছাড়াও, এটি বিরক্তিকর টিবিএইচ আমি আরও ম্যাথিক সমাধানগুলি দেখতে পছন্দ করতাম, আরএনজি হ'ল দয়ালু বিরক্তিকর।
Rɪᴋᴇʀ

1
@ রিকার কিন্তু আপনি আরএনজির কাছে একটি বীজ অনুমান করছেন বলে, তিনি আরএনজি নিজেই তার কাজ হিসাবে ব্যবহার করছেন যা আসলে নিরোধক। তবে হ্যাঁ, আপনি যা আশা করছেন এটি একমুখী ফাংশনটি বিপদজনকভাবে নির্ভর করার উপর নির্ভর করে এটি বিবেচনা করে, কেউ হয়তো এলোমেলো সংখ্যার সাথে একটি "সত্য" স্ট্রিং এনক্রিপ্ট করতে পারে এবং তারপরে চ্যালেঞ্জটি যে কোনও এনক্রিপশন স্কিমটি নির্বাচিত হয়েছিল তা ভঙ্গ করার প্রায় সমান ব্যক্তিগত কী আবিষ্কার করতে।
শফলেপ্যান্টস

1

লাই , স্কোর 239, ক্র্যাক হয়েছে

(1014750)1sp[l1+sp1-]28^RrnI24^=u;

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

আমি এখানে Ly কে না জেনে ব্যাংকিং করছি, যদিও আমি জানি যে কত সহজেই এটি পরিবর্তন হতে পারে ... ঘামছে

ব্যাখ্যা:

(1014750)1sp[l1+sp1-]              # meaningless code that counts up to 1014750 and discards the result
                     28^Rr         # range from 255 to 0
                          nI       # get the index from the range equal to the input
                            24^=   # check if it's 16
                                u; # print the result


1

ব্রেন-ফ্লাক , স্কোর 1574 ( ফাটল )

<>(((((((((((((((((((([([(((()()()){}){}){}])]){})))){}{}{}{}()){}){})){}{})){}{})){}((((((((()()){}){}){}){}[()]){}){}){}){}())){})){}){}{}{}){})(((((((((((((((((((()()){}){}()){}){}){}()){}){}()){}){})){}{}())){}{})){}{}){}){}){})(((((((((((((((()()){}()){}()){}){}){}()){}){}){}()){}){}){}()){}()){}()){})<>{({}[()])<>({}({})<({}({})<({}({})<({}({}))>)>)>)<>}({}<>(){[()](<{}>)}<>)

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



1

ডিসি

#!/bin/dc
[[yes]P] sy [[no]P] sn [ly sp] sq [ln sp] sr [lp ss] st [ln ss] su
?  sa
119560046169484541198922343958138057249252666454948744274520813687698868044973597713429463135512055466078366508770799591124879298416357795802621986464667571278338128259356758545026669650713817588084391470449324204624551285340087267973444310321615325862852648829135607602791474437312218673178016667591286378293
la %
d 0 r 0
=q !=r
10 154 ^ 10 153 ^ +
d la r la
<t !<u
1 la 1 la
>s !>n

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


দ্রষ্টব্য: জমা দেওয়ার পরে এই জমাটি পরিবর্তন করা হয়েছে। মূল জমাটি (নীচে) অবৈধ ছিল এবং নীচে দেওয়া মন্তব্যে স্লেফার দ্বারা ক্র্যাক করা হয়েছিল। (একটি ইনপুট 1আউটপুট বৃদ্ধি দেয় yes, কিন্তু একই ফলাফল দেয় যে অন্য একটি সংখ্যা আছে।)

#!/bin/dc
[[yes]P] sy [[no]P] sn [ly sp] sq [ln sp] sr
?  sa
119560046169484541198922343958138057249252666454948744274520813687698868044973597713429463135512055466078366508770799591124879298416357795802621986464667571278338128259356758545026669650713817588084391470449324204624551285340087267973444310321615325862852648829135607602791474437312218673178016667591286378293
la %
d 0 r 0
=q !=r
10 154 ^ 10 153 ^ +
d la r la
<p !<n

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


অনলাইন অনুবাদক "1" ইনপুটটির জন্য "হ্যাঁ" ফিরিয়ে দেন। এই গণনাটি কি এখন ক্র্যাক হয়ে গেছে?
স্লেফার

@ স্লেফার দীর্ঘশ্বাস ... হ্যাঁ, এটি আমার পক্ষে একটি বোকা ভুল ছিল।
জন গাওয়ার্স

যাইহোক, এর অর্থ এই যে এই চ্যালেঞ্জটি এখন অবৈধ, যেহেতু দুটি ইনপুট রয়েছে যা এটি হ্যাঁ মুদ্রণ করে, তাই আমি আপনাকে দাবি করতে চাইছি কিনা তা নিশ্চিত নই allowed আমি এই পোস্টে একটি সংশোধিত সংস্করণ যুক্ত করব, তবে আপনি যদি আসল হন তবে ছেড়ে দিন।
জন গাওয়ার্স

1

রুবি , নিরাপদ, স্কোর:

63105425988599693916

#!ruby -lnaF|
if /^#{eval [$F,0]*"**#{~/$/}+"}$/ && $_.to_i.to_s(36)=~/joe|tim/
  p true
else
  p false
end

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

ব্যাখ্যা:

প্রথম শর্তসাপেক্ষে ইনপুট নম্বরটি চেক করে , যখন একটি এন-অঙ্কের সংখ্যার মান নীচে n ^ 10 দ্বারা আবদ্ধ হয়। এই পদগুলির মধ্যে অনুপাতটি n * (9-10) ^ n, যা অবশেষে এন বৃদ্ধি পাওয়ার সাথে একঘেয়েমি হ্রাস পায়। একবার এটি 1 এর নীচে নেমে গেলে, কোনও এন-অঙ্কের ন্যারিসিস্টিক নম্বর থাকতে পারে না। নারকিসিজমের । মূলত আমি যে থ্রেডটি লিখেছিলাম তা কাকতালীয়ভাবে পোস্ট করার সময়ই প্রায় ছড়িয়ে পড়েছিল তবে আমি অনুমান করি কেউ তা লক্ষ্য করেনি। দ্বিতীয়টি সংখ্যাটি বেস ৩ 36 এ রূপান্তর করে, যা অক্ষর হিসাবে অক্ষর ব্যবহার করে এবং স্ট্রিংয়ে "জো" বা "টিম" রয়েছে কিনা তা পরীক্ষা করে। এটি প্রমাণিত হতে পারে (ক্লান্তির মধ্য দিয়ে) যে কেবল জো বা টিম (জো) নামে একটি মাত্র নান্দনিক সংখ্যা রয়েছে, কারণ সংক্ষিপ্ত সংখ্যাগুলি সীমাবদ্ধ। প্রমাণস্বরূপ যে তারা সসীম রয়েছে: একটি এন-অঙ্কের সংখ্যা নেওয়ার ফলাফল, প্রতিটি অঙ্ককে নবম শক্তিতে উত্থাপন করে, এবং সংমিশ্রণের ফলাফল উপরের দিকে আবদ্ধ হয়n*9^n


1

পিএইচপি, নিরাপদ, স্কোর:

60256

<?php

$a = $argv[1];

$b ='0123456789abcdefghijklmnopqrstuvwxyz';

$c = strlen($b);

$d = '';
$e = $a;
while ($e) {
    $d .= $b[$e % $c];
    $e = floor($e / $c);
}

echo ((function_exists($d) && $d($a) === '731f62943ddf6733f493a812fc7aeb7ec07d97b6') ? 1 : 0) . "\n";

সঠিক হলে আউটপুট 1, অন্যথায় 0।

সম্পাদনা: আমার মনে হয় না যে কেউ এটিকে ফাটানোর চেষ্টা করেছে কারণ:

এটা জোর করা সহজ হবে।

ব্যাখ্যা:

আমি ইনপুটটি নিই এবং এটিকে "বেস 36" এ রূপান্তর করি, তবে আমি চূড়ান্ত সংখ্যাটি তৈরি করতে বাকী লোকদের বিপরীত করি না। 60256 সংখ্যাটি হ'ল "1ahs" বেস 36. বিপরীত, এটি "sha1", যা পিএইচপি-র একটি ফাংশন। চূড়ান্ত চেকটি হ'ল sha1 (60256) হ্যাশের সমান।


0

সুইফট 3 (53 বাইট) - ক্র্যাকড

func f(n:Int){print(n==1+Int(.pi*123456.0) ?222:212)}

এটি কিভাবে চালানো যায়? - f(n:1)

এখানে পরীক্ষা।



@ মিঃ এক্সকোডার হেই ভাল করেছেন, অনুমান করুন এটি খুব সহজ ছিল

0

পাইথন 3, স্কোর: ???

আশা করি এটি, যদি কিছু থাকে তবে এটি প্রকৃতপক্ষে যে সমস্যাটির কতটা ভাঙা তা প্রমাণ করে:

from hashlib import sha3_512

hash_code = 'c9738b1424731502e1910f8289c98ccaae93d2a58a74dc3658151f43af350bec' \
            'feff7a2654dcdd0d1bd6952ca39ae01f46b4260d22c1a1b0e38214fbbf5eb1fb'


def inc_string(string):
    length = len(string)
    if length == 0 or all(char == '\xFF' for char in string):
        return '\x00' * (length + 1)
    new_string = ''
    carry = True
    for i, char in enumerate(string[::-1]):
        if char == '\xFF' and carry:
            new_string = '\x00' + new_string
            carry = True
        elif carry:
            new_string = chr(ord(char) + 1) + new_string
            carry = False
        if not carry:
            new_string = string[0:~i] + new_string
            break
    return new_string


def strings():
    string = ''
    while True:
        yield string
        string = inc_string(string)


def hash_string(string):
    return sha3_512(string.encode('utf-8')).hexdigest()


def main():
    for string in strings():
        if hash_string(string) == hash_code:
            exec(string)
            break


main()

মূলত, এই কোডটি যা করে সেটি অলসভাবে প্রতিটি স্ট্রিং তৈরি করে যতক্ষণ না স্ট্রিংগুলির মধ্যে একটিতে হ্যাশ থাকে যা উপরেরটির সাথে ঠিক মেলে hash_code। অপরিবর্তিত কোডটি এর মূল ফর্মটি গ্রহণ করে:

num = int(input('Enter a number:\n'))
if num == <insert number here>:
    print(1)
else:
    print(0)

ছাড়া <insert number here>একটি সংখ্যা প্রতিস্থাপিত হয়েছে এবং কোড প্রায় unguessable তৈরীর উদ্দেশ্যে কোডে মন্তব্য আছে।

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

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


স্ট্যান্ডিন থেকে ইনপুট নেওয়া হয়। আউটপুট হ'ল 1 (সঠিকভাবে অনুমান করা সংখ্যার জন্য) বা 0 (একটি ভুল অনুমান করা সংখ্যার জন্য)।
Sonar235

আপনি কেন এটিকে একটি সম্প্রদায় উইকি বানিয়েছেন তা আমি জানি না। এটি আপনার উত্তর যা দেখে মনে হচ্ছে এটি তৈরি করতে যথেষ্ট কাজ করেছে। আমি অবশ্যই এই উত্তর প্রমাণটি প্রশ্নটি ভেঙে যাওয়ার কথা বলব না। এটি একটি চতুর উত্তর, এটি সম্ভবত ভাল স্কোর করতে পারে, (আমি এমনকি এটি প্রমাণ করতে পারি না এটি 1 এর জন্য কাজ করে না)। একটি প্রশ্নের পয়েন্টটি সর্বদা উত্তরগুলিকে আকর্ষণ করে যা চতুর আকর্ষণীয় উপায়ে প্রশ্নটির কাছে পৌঁছায় (এবং মজাও করতে পারে তবে আমি আপনার বিনোদনের জন্য কোনও কথা বলতে পারি না), এবং যতদূর আমি উদ্বিগ্ন এটি এটি করে।
গম উইজার্ড

3
আসলে এই উত্তরটি অবৈধ। এটি প্রায় অবশ্যই (হ্যাশের সাথে মিলিত 512 বিটের দৈর্ঘ্যের কোনও স্ট্রোনজিকাল সম্ভাব্যতার সাথে) এক্সিকিউটিভ () অন্য কিছু যা সম্ভবত উদ্দেশ্যযুক্ত কোডে পৌঁছানোর আগে বৈধ পাইথন কোডও নয়।
জোশুয়া

1
@ Sonar235: আপনার খণ্ড টেমপ্লেটে এতে 512 টিরও বেশি বিট রয়েছে।
জোশুয়া

1
জোশুয়ার উত্তরে প্রসারিত করতে: আপনার বিট কোডটি 102 টি অক্ষর দীর্ঘ। বিশেষত, আপনার প্রোগ্রামটি আপনার কোডে উঠার আগে প্রতি 100-অক্ষরের স্ট্রিংটিতে পুনরাবৃত্তি হবে। যেহেতু আপনার কোড 0x00-0xFF সীমার অক্ষরগুলিতে পুনরাবৃত্তি করে, এটি 256 ^ 100বা 2 ^ 800স্ট্রিং। এদিকে, কেবলমাত্র 2 ^ 512512-বিট হ্যাশ রয়েছে। এর অর্থ হ'ল সম্ভাব্য হ্যাশগুলি ছাড়িয়ে আপনি যে স্ট্রিংগুলি পুনরাবৃত্তি করছেন সেগুলি কমপক্ষে 2 ^ 288একটিতে - মহাবিশ্বের পরমাণুর সংখ্যার চেয়ে 10,000 গুণ বেশি বৃহত্তর। যে নির্দিষ্ট হ্যাশ অব্যবহৃত হওয়ার সম্ভাবনা অবিশ্বাস্যভাবে ছোট
জন গাওয়ার্স

0

জিরো কোনও ইতিবাচক পূর্ণসংখ্যার ফাই নয়। আমি জানি না যে এটি উদ্দেশ্য সমাধান ছিল তবে এটি কার্যকর হয়।
গম উইজার্ড

0 উদ্দেশ্য সমাধান নয়।
ইডি

8
আহ, আপনার টিআইও পৃষ্ঠাটি সমাধানটি দেখায় ...
LyricLy

2
এছাড়াও "একটি প্রোগ্রাম বা ফাংশন যা আউটপুট একটি মান লিখুন যখন ইনপুট হিসাবে সংখ্যা এবং জন্য অন্য মান প্রদান করা সব অন্যান্য ধনাত্মক পূর্ণসংখ্যা ইনপুট "
জনাথন অ্যালান


0

জাভা, স্কোর: 3141592 ( ক্র্যাকড )

\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0063\u006c\u0061\u0073\u0073\u0020\u004d\u0061\u006e\u0067\u006f\u0020\u007b
\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0076\u006f\u0069\u0064\u0020\u0063\u006f\u006e\u0076\u0065\u0072\u0074\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u0020\u0073\u0029\u007b\u0066\u006f\u0072\u0028\u0063\u0068\u0061\u0072\u0020\u0063\u0020\u003a\u0020\u0073\u002e\u0074\u006f\u0043\u0068\u0061\u0072\u0041\u0072\u0072\u0061\u0079\u0028\u0029\u0029\u007b\u0020\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u0028\u0022\u005c\u005c\u0075\u0030\u0030\u0022\u002b\u0049\u006e\u0074\u0065\u0067\u0065\u0072\u002e\u0074\u006f\u0048\u0065\u0078\u0053\u0074\u0072\u0069\u006e\u0067\u0028\u0063\u0029\u0029\u003b\u007d\u007d
\u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0073\u0074\u0061\u0074\u0069\u0063\u0020\u0076\u006f\u0069\u0064\u0020\u006d\u0061\u0069\u006e\u0028\u0053\u0074\u0072\u0069\u006e\u0067\u005b\u005d\u0020\u0061\u0072\u0067\u0073\u0029\u0020\u007b\u0069\u006e\u0074\u0020\u0078\u0020\u0020\u003d\u0020\u0049\u006e\u0074\u0065\u0067\u0065\u0072\u002e\u0070\u0061\u0072\u0073\u0065\u0049\u006e\u0074\u0028\u0061\u0072\u0067\u0073\u005b\u0030\u005d\u0029\u003b
\u0064\u006f\u0075\u0062\u006c\u0065\u0020\u0061\u003d\u0020\u0078\u002f\u0038\u002e\u002d\u0033\u0039\u0032\u0036\u0039\u0039\u003b\u0064\u006f\u0075\u0062\u006c\u0065\u0020\u0062\u0020\u003d\u0020\u004d\u0061\u0074\u0068\u002e\u006c\u006f\u0067\u0031\u0030\u0028\u0028\u0069\u006e\u0074\u0029\u0020\u0028\u0078\u002f\u004d\u0061\u0074\u0068\u002e\u0050\u0049\u002b\u0031\u0029\u0029\u002d\u0036\u003b
\u0053\u0079\u0073\u0074\u0065\u006d\u002e\u006f\u0075\u0074\u002e\u0070\u0072\u0069\u006e\u0074\u006c\u006e\u0028\u0028\u0061\u002f\u0062\u003d\u003d\u0061\u002f\u0062\u003f\u0022\u0046\u0061\u0069\u006c\u0022\u003a\u0022\u004f\u004b\u0022\u0020\u0029\u0029\u003b
\u007d\u007d

1
আমি মনে করি না যে বিরক্তিকর প্রথম পদক্ষেপটি যুক্ত করা ছাড়া উদাসীনতা কিছু করতে যাচ্ছে।
ইঞ্জিনিয়ার টোস্ট


2
@ ইঞ্জিনিয়ারস্টোস্ট, না, এটি নিখুঁতভাবে অলস লোকদের ভয় দেখানোর জন্য ছিল।
ব্যবহারকারী 902383

0

পাইথন 3, স্কোর 1 (নিরাপদ)

খুব আকর্ষণীয় সমাধান নয়, একটি মৃত পুলিশকের চেয়ে নিরাপদ পুলিশ।

import hashlib

def sha(x):
    return hashlib.sha256(x).digest()

x = input().encode()
original = x

for _ in range(1000000000):
    x = sha(x)

print(int(x==b'3\xdf\x11\x81\xd4\xfd\x1b\xab19\xbd\xc0\xc3|Y~}\xea83\xaf\xa5\xb4]\xae\x15wN*!\xbe\xd5' and int(original.decode())<1000))

1লক্ষ্য সংখ্যার আউটপুট , 0অন্যথায়। স্ট্যান্ডিন থেকে ইনপুট নেওয়া হয়। শেষ অংশ ( and int(original.decode())<1000) কেবলমাত্র একটি উত্তর নিশ্চিত করার জন্য বিদ্যমান, অন্যথায় অবশ্যই অসীম অনেক উত্তর থাকবে।


1
আপনি কি একটি টিআইও লিঙ্ক যুক্ত করতে পারেন, দয়া করে?
শেগি

1
ভবিষ্যতের ডাকাতদের জন্য: পূর্ণসংখ্যাটি এর চেয়ে কম বলে মনে হয় না 100000000
মিঃ এক্সকডার

1
@ শেগি এটি টিআইওর সময়সীমা শেষ হবে, SHA256 এর বিলিয়ন পুনরাবৃত্তিগুলি চালাতে আমার কম্পিউটারে প্রায় আধ ঘন্টা সময় নিয়েছে।
L3viathan

2
কোন ডাকাত কল্পনা করে এটিকে সমাধান করার জন্য একটি দল গঠন করছে? আমাদের কেবলমাত্র 1000 এর চেয়ে কম সংখ্যাকে বিভক্ত করতে হবে যাতে সময়সীমার পূর্বে পুনরাবৃত্তি-এসএইচএ হজম করার সময় পাওয়া যায়।
জন গাওয়ার্স

2
আপনি যদি প্রমাণ করতে না পারেন যে 1 টিই একমাত্র সমাধান, এই উত্তরটি অবৈধ। প্রমাণের বোঝা একটি বৈধ উত্তর থাকার দাবিদার ব্যক্তির উপর হওয়া উচিত।
ডেনিস

0

সি (জিসিসি) , স্কোর ???

#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <wmmintrin.h>

#include <openssl/bio.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>

union State
{
    uint8_t u8[128];
    __m128i i128[8];
} state;

void encrypt()
{
    BIO *key = BIO_new_mem_buf
    (
        "-----BEGIN PUBLIC KEY-----\n"
        "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5CBa50oQ3gOPHNt0TLxp96t+6\n"
        "i2KvOp0CedPHdJ+T/wr/ATo7Rz+K/hzC7kQvsrEcr0Zkx7Ll/0tpFxekEk/9PaDt\n"
        "wyFyEntgz8SGUl4aPJkPCgHuJhFMyUflDTywpke3KkSv3V/VjRosn+yRu5mbA/9G\n"
        "mnOvSVBFn3P2rAOTbwIDAQAB\n"
        "-----END PUBLIC KEY-----\n",
        -1
    );

    RSA *rsa = PEM_read_bio_RSA_PUBKEY(key, &rsa, NULL, NULL);

    uint8_t ciphertext[128];

    RSA_public_encrypt(128, state.u8, ciphertext, rsa, RSA_NO_PADDING);
    memcpy(state.u8, ciphertext, 128);
}

void verify()
{
    if (memcmp
    (
        "\x93\xfd\x38\xf6\x22\xf8\xaa\x2f\x7c\x74\xef\x38\x01\xec\x44\x19"
        "\x76\x56\x27\x7e\xc6\x6d\xe9\xaf\x60\x2e\x68\xc7\x62\xfd\x2a\xd8"
        "\xb7\x3c\xc9\x78\xc9\x0f\x6b\xf0\x7c\xf8\xe5\x3c\x4f\x1c\x39\x6e"
        "\xc8\xa8\x99\x91\x3b\x73\x7a\xb8\x56\xf9\x28\xe7\x2e\xb2\x82\x5c"
        "\xb8\x36\x24\xfb\x26\x96\x32\x91\xe5\xee\x9f\x98\xdf\x44\x49\x7b"
        "\xbc\x6c\xdf\xe9\xe7\xdd\x26\x37\xe5\x3c\xe7\xc0\x2d\x60\xa5\x2e"
        "\xb8\x1f\x7e\xfd\x4f\xe0\x83\x38\x20\x48\x47\x49\x78\x18\xfb\xd8"
        "\x62\xaf\x0a\xfb\x5f\x64\xd1\x3a\xfd\xaf\x4b\xaf\x93\x23\xf4\x36",
        state.u8,
        128
    ))
        exit(0);
}

static inline void quarterround(int offset)
{
    int dest = (offset + 1) % 8, src = offset % 8;

    state.i128[dest] = _mm_aesenc_si128(state.i128[src], state.i128[dest]);
}

int main(int argc, char *argv[])
{
    if (argc != 2)
        exit(0);

    uint64_t input = strtoull(argv[1], NULL, 0);

    state.i128[0] = _mm_set_epi32(0, 0, input >> 32, input);

    for (uint64_t round = 0; round < 0x1p45; round += 2)
    {
        quarterround(0);
        quarterround(2);
        quarterround(4);
        quarterround(6);

        quarterround(7);
        quarterround(1);
        quarterround(3);
        quarterround(5);
    }

    encrypt();
    verify();
    puts("something");
}

যেহেতু ক্রিপ্টোগ্রাফিক সমাধানগুলি এখানে উত্সাহিত করা হয়েছে। ঠিক এক ধনাত্মক পূর্ণসংখ্যা কিছু মুদ্রণ করবে , অন্য সমস্ত কিছুই মুদ্রণ করবে না। এটি দীর্ঘ সময় নেয় , তাই এটি অনলাইনে পরীক্ষা করা যায় না।


0

জাভা, 164517378918, নিরাপদ

import java.math.*;import java.util.*;
public class T{
    static boolean f(BigInteger i){if(i.compareTo(BigInteger.valueOf(2).pow(38))>0)return false;if(i.longValue()==0)return false;if(i.compareTo(BigInteger.ONE)<0)return false;int j=i.multiply(i).hashCode();for(int k=3^3;k<2000;k+=Math.abs(j%300+1)){j+=1+(short)k+i.hashCode()%(k+1);}return i.remainder(BigInteger.valueOf(5*(125+(i.hashCode()<<11))-7)).equals(BigInteger.valueOf(0));}
    @SuppressWarnings("resource")
    public static void main(String[]a){long l=new Scanner(System.in).nextLong();boolean b=false;for(long j=1;j<10;j++){b|=f(BigInteger.valueOf(l-j));}System.out.println(f(BigInteger.valueOf(l))&&b);}
}

0

টিআই-বেসিক, স্কোর: 196164532 অ প্রতিযোগিতামূলক

গোপন সংখ্যার জন্য 1 প্রদান করে, অন্যথায় 0

Ans→rand
rand=1

আরও তথ্যের জন্য randকমান্ডের এই পৃষ্ঠায় থাকা নোটটি দেখুন।


8
এটির জন্য ঠিক একটি মিলের ইনপুট নম্বর থাকার নিশ্চয়তা কী?

@ রিকার: আমি মনে করি টিআই ক্যালকুলেটর অভ্যন্তরীণভাবে কিছু ধরণের ভাসমান পয়েন্ট ব্যবহার করে; যদি র্যান্ড বাকি অংশের মতো একই ভাসমান পয়েন্ট ব্যবহার করে তবে আমি নিশ্চিত যে কেবলমাত্র 1 টি সমাধান রয়েছে।
জোশুয়া

@Joshua আমি বিশ্বাস করি এটি ব্যবহার করে এর মধ্যে L'Ecuyer এর অ্যালগরিদম
kamoroso94

@ জোশুয়া "বেশ নিশ্চিত" যথেষ্ট নয়। আপনি যদি প্রমাণ করতে না পারেন যে কেবলমাত্র 1 টি সমাধান বিদ্যমান, এটি কোনও বৈধ উত্তর নয়।
আর

1
@ ডেনিস: 196164532 * 2 এর জন্য অনুসন্ধান করুন; যদি কোনও সমাধান না হয় তবে অন্য কোনও সমাধান নেই।
জোশুয়া

0

পাইথন 3 , স্কোর :?

def check(x):
    if x < 0 or x >= 5754820589765829850934909 or pow(x, 18446744073709551616, 5754820589765829850934909) != 2093489574700401569580277 or x % 4 != 1:
        return "No way ;-("
    return "Cool B-)"

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

সরল, তবে কিছুটা সময় লাগতে পারে জোর করে ;-) একটি দ্রুত ক্র্যাকের প্রত্যাশায় ;-)

পাদটীকা: প্রথম দুটি এবং শেষ শর্ত উত্তরটি অনন্য করে তুলেছে।

বিটিডাব্লু কিভাবে স্কোর গণনা করা হয়?

ইঙ্গিত ঘ

আপনি আশা করতে পারেন যে এর মধ্যে 2 64 টি উত্তর থাকবে 0 <= x < [the 25-digit prime]তবে বাস্তবে কেবল 4 টি আছে এবং শেষ শর্তটি অন্যান্য 3 কে সরিয়ে দেয় আপনি যদি এটি ক্র্যাক করতে পারেন তবে আপনি অন্যান্য 3 টি সমাধানও জানতে পারবেন।




-2

সি #, মনো, লিনাক্স, আলফা, স্কোর 1 (নিরাপদ)

class Program
{
public static void Main()
{
//Excluding out-of-range inputs at ppperry's request; does not change solution
//original code:
//var bytes = System.BitConverter.GetBytes((long)int.Parse(System.Console.ReadLine()));
int i;
if (!int.TryParse(System.Console.ReadLine(), out i || i <= 0 || i > 1000000) { System.Console.WriteLine(0); Environment.Exit(0); }
var bytes = System.BitConverter.GetBytes((long)i);
using (var x = System.Security.Cryptography.HashAlgorithm.Create("MD5"))
{
    for (int i = 0; i < 1000000; ++i)
            for (int j = 0; j < 86400; ++j)
                    bytes = x.ComputeHash(bytes);
}
if (bytes[0] == 91 && bytes[1] == 163 && bytes[2] == 41 && bytes[3] == 169)
    System.Console.WriteLine(1);
else
    System.Console.WriteLine(0);
}
}

সাবধান হন। আমি বলতে চাইছি। সেখানে প্রচুর পরিমাণে আলফা সিমুলেটর রয়েছে। একটি জিটার সহ একটি ব্যবহার করুন বা এটি শেষ হবে না।

এটি আলফা বিগ-এন্ডিয়ান হওয়ার উপর নির্ভর করে, কেউ যদি x86 বা x64 এ চেষ্টা করে তবে সিস্টেম.বিটকনভার্টার ভুল কাজটি করে। আমি এই উত্তরটি অন্য কোনও কিছুর চেয়ে চ্যালেঞ্জের খারাপতা প্রদর্শন করার জন্য লিখেছি।


1
এর ঠিক একটি সমাধান হতে পারে না; এখানে অসীম সংখ্যার পূর্ণসংখ্যার সংখ্যা রয়েছে এবং MD5 ফাংশনে সীমাবদ্ধ সংখ্যক সম্ভাব্য আউটপুট থাকে, তাই সেখানে সংঘর্ষ হতে হবে
পিপ্পারি

@ পিপ্পেরি: যদিও মাত্র 2 বিলিয়ন এবং ইতিবাচক ints পরিবর্তন।
জোশুয়া

আপনি যদি সেভাবে এটি নিয়ে ভাবেন, তবে এই ত্রুটিগুলি ইনপুটগুলিতে 2 ^ 31 এর বেশি হয় এবং এটি অবৈধ।
পিপ্পারি

@ পিপ্পেরি: এখন এটি এতে ত্রুটি করবে না।
জোশুয়া

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