আমি কীভাবে একটি যুক্ত ফাংশন লিখব? [বন্ধ]


42

সমস্যাটি:

আমি একটি বড় সংস্থার নেতৃত্ব বিকাশকারী, আমরা স্কাইনেট তৈরি করছি। আমাকে নিয়োগ দেওয়া হয়েছে

একটি ফাংশন লিখুন যা ইনপুট করে এবং তাদের যোগফল দেয়

বিধি: মত উত্তর নেই

function sum(a,b){
    return "their sum";
}

সম্পাদনা: গৃহীত উত্তরটি 1 লা জানুয়ারী, 2014-এ সর্বাধিক উন্নয়নের সাথে এক হবে

দ্রষ্টব্য: এটি একটি প্রশ্ন। দয়া করে প্রশ্ন এবং / অথবা উত্তরগুলি গুরুত্ব সহকারে নেবেন না। আরও তথ্য এখানে


31
তুমি আমার লাইটওয়েট jQuery এর প্লাগইন ব্যবহার করতে পারেন: $.sum=function(a,b){return a+b};
ব্লেন্ডার

5
আমি জানতাম আমি কোনও সময় jQuery রেফারেন্স পেয়ে যাব
scrblnrd3

5
উজ্জ্বল ইংরাজী: পি
মার্টিজন কোর্টেক্স

5
প্রশ্নের পরামর্শ (এটি কোনও ভাল কিনা তা নিশ্চিত নয়): "GUISE HALP, বিটকয়েন ব্লক তৈরি করার জন্য আমার একটি দ্রুত অ্যালগরিদম প্রয়োজন !!!!! এটি সুপার জরুরি!"

5
এই উত্তরগুলি বেশ জড়িত। আমি আপনার ডাটাবেসে একটি সংযোগ খোলার এবং ইস্যু করার পরামর্শ দিচ্ছি 'SELECT ' + a + ' + ' + b + ';'। এটি সহজ এবং বোধগম্য।
নিক চ্যামাস

উত্তর:


69

এটা খুব জটিল সমস্যা! আপনি এখানে সি # তে কীভাবে এটি সমাধান করবেন:

static int Sum(int a, int b)
{
    var aa = ((a & ~877 - b ^ 133 << 3 / a) & ((a - b) - (a - b))) | a;
    var bb = ((b ^ (a < 0 ? b : a)) & ((b - a) - (b - a))) | b;
    var cc = new List<int>();
    for (int i = 6755 & 1436; i < aa; i -= -1)
    {
        cc.Add((int)Convert.ToInt32(Math.Sqrt(6755 & 1437 >> ((b - a) - (b - a)))));
    }
    for (int i = 6755 & 1436; i < bb; i -= -1)
    {
        cc.Add((int)Convert.ToInt32(Math.Sqrt(6755 & 1437 >> ((a - b) - (a - b)))));
    }
    Func<int,int,int> importantCalculation = null;
    importantCalculation = (x, y) => y != 0 ? importantCalculation(x ^ y | (6755 & 1436) >> (int)(Convert.ToInt32(Math.Sqrt((b - a) - (b - a) - (-1))) - 1), (x & y) << (int)Convert.ToInt32((Math.Log10(1) + 1))) : x;
    return cc.Aggregate(importantCalculation);
}


এই কোডটি কীভাবে কাজ করে (অলস ওপিতে আমার উত্তরটিতে এই ব্যাখ্যাটি আমি যুক্ত করব না যা ট্রোল করতে হবে, চিন্তা করবেন না): ((a & ~877 - b ^ 133 << 3 / a) & ((a - b) - (a - b))) | aঠিক ফিরে আসে aএবং ((b ^ (a < 0 ? b : a)) & ((b - a) - (b - a))) | bঠিক ফিরে আসে b

6755 & 1436ফিরে আসে 0, সুতরাং লুপে, iপ্রকৃতপক্ষে মান দিয়ে শুরু হয় 0এবং লুপের অভ্যন্তরে আপনি মানটিকে 1তালিকায় যুক্ত করেন। সুতরাং, যদি aহয় 5এবং bহয় 3তবে মানটি 1তালিকায় 8 বার যুক্ত হয়।

importantCalculationফাংশন একটি খুব দীর্ঘ ফাংশন যা দুটি সংখ্যার আপ যোগ ছাড়া অন্য কিছুই নেই। আপনি Aggregateসমস্ত সংখ্যা যুক্ত করতে লিনকিউ ফাংশনটি ব্যবহার করেন । এটা তোলে ফল কাস্ট করার জন্য অপ্রয়োজনীয় এছাড়াও Convert.ToInt32একটি থেকে int, কারণ এটি ইতিমধ্যে একটি হল int

এই কোডটি এমন একটি জিনিস যা অলস ওপি বুঝতে পারে না, যা হ'ল অন্তরঙ্গ :-)


11
i - = -1। খুবই সৃজনশীল. আমি ইতিমধ্যে আজ ভোটের সীমাতে পৌঁছেছি, তবে আমি যত তাড়াতাড়ি সম্ভব আপনার উত্তরটিকে উজ্জীবিত করব।
ভিক্টর স্টাফুসা

যতক্ষণ আপনি জেদ করেন যে 6755 & 1436বেশিরভাগ সংখ্যক কাজ করে বলে মনে হচ্ছে ওপির ধারণা থাকা সত্ত্বেও অন্য কিছু অপরিজ্ঞাত আচরণ নয় ...
ট্রোজান

'=>' এর অর্থ কী?
ইলিয়া গাজমান

2
@ বাবিবু আমি জীবনে কখনও সি # এর একটি লাইন লিখিনি তবে এটি অবশ্যই ল্যাম্বডা অভিব্যক্তি।
thwd

3
ওহ, var x = Sum(0, 4)DivideByZeroException।
ফিলিপ স্কট

60

বাশ - 72 বাইট

কখনও কখনও traditionalতিহ্যবাহী নির্বিচারে সংযোজন কৌশলগুলি খুব সুনির্দিষ্ট এবং অহেতুক দ্রুত হয় - এমন সময় আসে যখন আপনি সিপিইউকে কিছুটা বিশ্রাম দিতে চান।

ক্ষতিগ্রস্থ স্লিপএড অ্যালগরিদম পরিচয় করিয়ে দেওয়া ।

#!/bin/bash
(time (sleep $1;sleep $2)) 2>&1|grep re|cut -dm -f2|tr -d s

নমুনা রান:

> ./sleepadd.sh 0.5 1.5
2.001

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

প্রো টিপ: এই অ্যালগরিদম আরও অনুকূলিত করা যেতে পারে - একটি 2x গতি বৃদ্ধি সম্ভব, যদি তার দেওয়া নম্বরগুলি প্রথমে 2 দ্বারা বিভক্ত করা হয়।


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

4
@ শিঙ্গেতসু: আপনি কি বলছেন যে এমপি 3 কোডেকের কথা আর কেউ শুনেনি? : পি
দাঙ্গা

7
আমি বলছি খুব কম লোকই আসলে সমিতি তৈরি করে। খোঁড়া যদিও খোঁড়া। Vorbis মাস্টার রেস।

7
ব্যাপকভাবে অফ-টপিক অডিও এনকোডার যুদ্ধের জন্য ডায়রিবি :) +1 :)
দাঙ্গা

1
আমি বিশ্বাস করি যে নীচে আমার বাশ-হাদুপ সংস্করণটি অনেক বেশি শক্তিশালী এবং স্কেলযোগ্য !!!!! তবে আমি অবশ্যই বলতে পারি, আমি আপনার সংস্করণটি সত্যিই পছন্দ করি, স্লিপডড দুর্দান্ত! +1
অ্যানি-মৌসিস

40

জাভা

public static void int sum(int a, int b)
{
    try
    {
       File file = File.createTempFile("summer", "txt");
       FileOutputStream fos = new FileOuptutStream(file);
       for (int i = 0; i < a; ++i) fos.write(1);
       for (int i = 0; i < b; ++i) fos.write(1);
       fos.flush();
       fos.close();
       return file.length();
    } catch(Throwable t)
    {
       return sum(a, b); // Try again!
    }
}

এটি মূলত বাইটের সংখ্যা সহ একটি ফাইল লিখে দেয় যা আসল যোগফলের সমান হতে হবে। ফাইলটি লেখার সময়, এটি ফাইলের আকারের জন্য ডিস্ক ফাইল টেবিলকে জিজ্ঞাসা করে।


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

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

33

সি

কোয়ান্টাম বিশ্বে আপনি যেমন পারমাণবিক অপারেটরগুলির উপর নির্ভর করতে পারবেন না +, কোয়ান্টাম কম্পিউটিংয়ের ক্ষেত্রে আমার সংযোজনের বিষয়টি এখানে:

#define DEPENDING (
#define ON 
#define EVERYTHING 32
#define DEFINED )
#define AS ON
#define WITH {
#define SOON if
#define FIX AS
#define TO =
#define REPEAT for(
#define SUBPOSED >>
#define SUPERPOSITION int
#define ADJUSTED <<
#define APPROACHES <
#define SUBPOSITION ++
#define MATCHES &
#define LEVEL DEPENDING
#define OF FIX
#define BY FIX
#define CONTINUUM 1
#define VOID ~-CONTINUUM
#define SUPERPOSED |
#define DO DEFINED WITH
#define CURVATURE }
#define ITSELF FIX
#define OTHERWISE CURVATURE else WITH
#define RETURN return

SUPERPOSITION ADD
    DEPENDING ON
        SUPERPOSITION SUPER_A,
        SUPERPOSITION SUPER_B
    DEFINED WITH
        FIX SUPERPOSITION A TO SUPER_A;
        FIX SUPERPOSITION B TO SUPER_B;
        FIX SUPERPOSITION RESULT TO VOID;
        FIX SUPERPOSITION CARRY TO VOID;
        FIX SUPERPOSITION I TO VOID;
        REPEAT
            FIX I TO VOID;
            I APPROACHES EVERYTHING;
            FIX I SUBPOSITION DEFINED WITH
                AS SOON AS LEVEL OF CARRY MATCHES CONTINUUM DO
                    AS SOON AS LEVEL OF A SUBPOSED BY I MATCHES CONTINUUM DO
                        AS SOON AS LEVEL OF B SUBPOSED BY I MATCHES CONTINUUM DO
                            FIX RESULT TO RESULT SUPERPOSED BY CONTINUUM ADJUSTED BY I;
                        FIX CURVATURE OF CONTINUUM;
                    OTHERWISE
                        AS SOON AS LEVEL OF B SUBPOSED BY I MATCHES CONTINUUM DO
                            FIX VOID; // yes, you never know what could go wrong
                        OTHERWISE
                            FIX RESULT TO RESULT SUPERPOSED BY CONTINUUM ADJUSTED BY I;
                            FIX CARRY TO VOID;
                        FIX CURVATURE OF CONTINUUM;
                    FIX CURVATURE OF CONTINUUM; // twice to make sure
                OTHERWISE
                    AS SOON AS LEVEL OF A SUBPOSED BY I MATCHES CONTINUUM DO
                        AS SOON AS LEVEL OF B SUBPOSED BY I MATCHES CONTINUUM DO
                            FIX CARRY TO CONTINUUM;
                        OTHERWISE
                            FIX RESULT TO RESULT SUPERPOSED BY CONTINUUM ADJUSTED BY I;
                        FIX CURVATURE OF CONTINUUM;
                    OTHERWISE
                        AS SOON AS LEVEL OF B SUBPOSED BY I MATCHES CONTINUUM DO
                            FIX RESULT TO RESULT SUPERPOSED BY CONTINUUM ADJUSTED BY I;
                        FIX CURVATURE OF CONTINUUM;
                    FIX CURVATURE OF CONTINUUM;
                FIX CURVATURE OF CONTINUUM;
            FIX CURVATURE OF CONTINUUM; // we did some stuff there, sure the curvature needs a lot of fixing
        FIX VOID; // clean up after ourselfves
        RETURN LEVEL OF SUPERPOSITION DEFINED AS RESULT;
    FIX CURVATURE OF ITSELF

2
+1 যদিও কোড ট্রোলিংয়ের জন্য এটি খুব পঠনযোগ্য মনে হচ্ছে ...
মার্ক ক্লেসেন

29

Haskell,

ও (এন ^ 2) সময়ে সঠিক সমাধানটি গণনা করে । প্রয়োগকারী ফান্টেক্টরের ভিত্তিতে যা প্রয়োগ করে Alternative

{- Required packages:
 -   bifunctor
 -}
import Control.Applicative
import Data.Foldable
import Data.Traversable
import Data.Bifunctor
import Data.Monoid

-- Note the phantom types
data Poly n a = X n (Poly n a) | Zero
    deriving (Show)

twist :: Poly n a -> Poly n b
twist Zero = Zero
twist (X n k) = X n (twist k)

instance Functor (Poly n) where
    fmap _ = twist
instance Bifunctor Poly where
    second = fmap
    first f Zero    = Zero
    first f (X n k) = X (f n) (first f k)

-- Poly is a left module:
(<#) :: (Num n) => n -> Poly n a -> Poly n a
(<#) = first . (*)

instance (Num n) => Applicative (Poly n) where
    pure _ = X 1 empty
    Zero    <*> _      = empty
    (X n k) <*> q      = (twist $ n <# q) <|> (X 0 (k <*> q))

instance (Num n) => Alternative (Poly n) where
    empty = Zero
    Zero    <|> q       = q
    p       <|> Zero    = p
    (X n p) <|> (X m q) = X (n + m) (p <|> q)

inject :: (Num n) => n -> Poly n a
inject = flip X (X 1 Zero)


extract :: (Num n) => (Poly n a) -> n
extract (X x (X _ Zero)) = x
extract (X _ k)          = extract k
extract _                = 0

-- The desired sum function:
daSum :: (Traversable f, Num n) => f n -> n
daSum = extract . traverse inject

উদাহরণ: daSum [1,2,3,4,5]15 দেয়।


আপডেট করুন: এটি কিভাবে কাজ করে: একটি সংখ্যা একটি একটি বহুপদী হিসাবে প্রতিনিধিত্ব করা হয় xa থেকেA1, ..., aN সংখ্যাগুলির তালিকাটি (x-a1) (x-a2) ... (x-aN) এর সম্প্রসারণ হিসাবে উপস্থাপিত হয় । সংখ্যার যোগফলটি তখন দ্বিতীয় সর্বোচ্চ ডিগ্রির সহগ হয়। ধারণাটিকে আরও অস্পষ্ট করার জন্য, একটি বহুপদী একটি আবেদনকারী + বিকল্প ফান্টর হিসাবে প্রতিনিধিত্ব করা হয় যা আসলে কোনও মান রাখে না, কেবল সংখ্যাগুলির তালিকা হিসাবে একটি বহুপদীকে এনকোড করে (আইসোমর্ফিক থেকে Constant [n])। আবেদন অপারেশন তারপর বহুপদী গুণ এবং মিলা বিকল্প (এবং তারা মেনে চলে ছাড়াও অপারেশন আবেদন / বিকল্প হিসাবে ভাল আইন)।

এর পরে সংখ্যার যোগফলকে প্রতিটি সংখ্যাটিকে সংশ্লিষ্ট Polyবহুভুজের মধ্যে ম্যাপিং হিসাবে গণনা করা হয় এবং তারপরে অ্যাপ্লিকটিভ ফ্রাঙ্ক্টর ব্যবহার করে সেই তালিকাটি ট্র্যাভার করা হয়, যা বহুবচনগুলির পণ্যকে গণনা করে এবং শেষ পর্যন্ত যথাযথ সহগটি বের করে।


24

আপনি সংখ্যা যুক্ত করতে চান ?!?? আপনি সচেতন যে এটি একটি খুব জটিল ক্রিয়া? ঠিক আছে, অন্যদিকে, আপনি নেতৃত্ব বিকাশকারী, আপনাকে এই জাতীয় সমস্যার মুখোমুখি হতে হবে।

এটি আমি সন্ধান করতে পারি সবচেয়ে সহজ সমাধান:

int add_nums(int n1, int n2) {
    int res, op1, op2, carry, i;
    i = 32;
    while (i --> 0) {
        op1 = 123456 ^ 123457;
        op2 = 654321 ^ 654320;
        op1 = (n1 & op1) & op2;
        op2 = (n2 & op2) & (123456 ^ 123457);
        res = (res & (0xFFFF0000 | 0x0000FFFF)) | ((op1 ^ op2) ^ carry);
        carry = op1 & op2;
        res = res << 1;
    }
    return res;
}

অপারেটর "+" এর শিকার না হন, এটি সম্পূর্ণ অদক্ষ fficient অপারেটরটির চারপাশে "এগিয়ে যায়" বা নির্দ্বিধায় অল্প সংখ্যক বড় হওয়ার জন্য এটি ব্যবহার করুন।


21

নোডে.জেএস - সংম্ময়্ময়্ময়মি সংস্করণ / আইবিএম® জাভাস্ক্রিপ্ট এন্টারপ্রাইজ এসইএম সলিউশন ™

বাহ, এটি একটি অত্যন্ত কঠিন প্রশ্ন, তবে আমি এর উত্তর দেওয়ার জন্য যথাসাধ্য চেষ্টা করব।

এক ধাপ - টেলনেট সার্ভার

প্রথমে আমরা ইনপুটটি গ্রহণ করতে যাচ্ছি, এখন যে কোনও প্রো এবং এন্টারপ্রাইজ কোডার (আমার মতো) ইনপুট পাওয়ার সর্বোত্তম উপায়টি টেলনেট সার্ভার সেটআপ করা জেনে রাখা উচিত !!!

বেসিক টেলনেট সার্ভার দিয়ে শুরু করা যাক:

// Load the TCP Library
net = require('net'),
ibm = {},
fs = require('fs'),
clients = [];

//CREATES TEH TCP SEVA FOR INPUT
//COMMAND SUM and OBJECT (a, b, c, etc..) IS ONLY ELIGBLE
net.createServer(function (socket) {
  clients.push(socket);
  socket.write("WELKOME TO TEH SUM SEVA XD\n");

  socket.on('data', function (data) {
    ccc = [0,0,0,0,0,0,0];
    if(!socket.needarray){
    newdata = ibm.CLEANSOCKET(data);
    if(newdata && newdata != '\b'){if(socket.nowdata){socket.nowdata += newdata}else{socket.nowdata = newdata}}else{
      if(socket.nowdata){
        if(socket.nowdata.replace(' ', '') == ('SUM')){
          socket.write("Enter teh numbers\n");
          socket.needarray = 1;
        }
        console.log(socket.nowdata);
        socket.nowdata = null;
      }}
      }else if(newdata == '\b'){ 
        socket.array = socket.array[socket.array.length - 1]
      }else{
        arraychar = ibm.CLEANARRAY(data);
        if(arraychar != ('\n' || '\b')){if(socket.array){socket.array += arraychar}else{socket.array = arraychar}}else if(arraychar == '\b'){
          socket.array = socket.array[socket.array.length - 1]
        }else{
          socket.write("Your sum: "+summm(socket.array));
          socket.end();
        }
      }
  });
}).listen(23);
ibm.CLEANSOCKET = function(data) {
    return data.toString().replace(/(\r\n|\n|\r)/gm,"");
}

ibm.CLEANARRAY = function(data) {
    return data.toString().replace(/(\r)/gm,"");
}

সত্যিই এটির জন্য বিশেষ কিছু নেই, এটি আপনি সাধারণত টেলনেট সার্ভার। আমাদের সুন্দর কাঁচা স্ট্রিং পেতে আমরা কিছু বেসিক ক্লিনিক ফাংশন তৈরি করেছি এবং আমরা আমাদের যুক্ত করেছি ourSUM ফাংশনটিও ।

এখন ব্যবহারকারীকে 'এসইউএম' প্রবেশ করতে হবে। এর পরে তাদের প্রবেশের অনুরোধ জানানো হবে teh numberz, একবার প্রবেশের যোগফল () যোগ করে ফাংশনটি চালানো হবে এবং সমস্ত সংখ্যার যোগফল গণনা করবে।

দুই ধাপ - সাম্ম

এখন আমাদের summmফাংশনটি তৈরি করার সময় যা সমস্ত সংখ্যার যোগফলকে যোগ করবে।
কোডটি এখানে:

//DOOOO SUMMMMM STAPH
function summm(string){
  //Cleans out the string by converting it from unicode to base64 and then ASCII
  stringa = (new Buffer((new Buffer(string).toString('base64')), 'base64').toString('ascii'));
  //We will now convert our string to a new string with the format CHAR_ASCII_CODE + '.', etc...
  x = '', c = 0;
  stringa.split('').forEach(function (i){
      c++;
      x += i.charCodeAt(0);
      if (c != stringa.length){x+= '.';}
  })
  stringb = x;
  m = '';
  stringb.split('.').forEach(function (i) {
      m += String.fromCharCode(i);
  });
  stringc = m;
  stringd = stringc.split(',');
  var stringsa;
  string.split(',').forEach( function (i) {
    if(!stringsa){stringsa = parseInt(i);}else{stringsa += parseInt(i);}
  });
  return stringsa;
}

এবং আপনি সেখানে যান। এটি আপনার প্রতিদিনের আইবিএম সলিউশন। সমস্ত উপায় বিদ্যুৎ!
প্রথমে আপনি সুম প্রবেশ করুন।
সার্ভার তারপরে আপনি যে নম্বরগুলি যুক্ত করতে চান তার জন্য জিজ্ঞাসা করবে এবং আপনি সেগুলিতে প্রবেশ করতে পারেন:a, b, c, etc..

আমার উপর এটি বিশ্বাস করুন, সমস্ত বোটনেটস আজকাল আইবিএম avas জাভাস্ক্রিপ্ট এন্টারপ্রাইজ এসইএম সলিউশন ব্যবহার করছে;)।

এবং এখানে সবকিছু প্রমাণিত হয় তার প্রমাণ:
Summ(ক্লিক করুন)


2
আপনি স্ক্রিনশটটিতে কোন আইডিই ব্যবহার করছেন তা আমাকে বলতে আপত্তি করবে? ভিজ্যুয়াল স্টুডিও আমাকে সেই সিনট্যাক্স হাইলাইট দেয় না
জো ব্যক্তি

1
@ জোয়েথ পিয়ারসন: এটি কোনও আইডিই নয়, কেবলমাত্র একটি "অতিরিক্ত মূল্যের পাঠ্য" নামক একটি অতিরিক্ত মূল্যের পাঠ্য সম্পাদক।
অ্যাপাচি

1
@ জোয়েথ্পারসন লাইক শিকি বলেছেন যে এটি একটি পাঠ্য সম্পাদক যা কিছুটা অভিনব এবং এটির একটি বিনামূল্যে সংস্করণ রয়েছে, এখানে দেখুন: sublimetext.com
সি 1 ডি

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

19

জাভাতে আপনার জন্য একটি সমাধান এখানে। এটি সময়-পরীক্ষিত "অসীম বানরের উপপাদ্য" উপর নির্ভর করে: আপনি যদি অসীম বানর নিয়ে কোনও ঘরে থাকেন তবে আপনি নিক্ষিপ্ত কুঁচকে .াকা পড়ে যাবেন। বা এমন কিছু।

public static int sum(int a, int b){
   if(a==0)return b;
   Random r=new Random();
   int number=r.nextInt();
   if(number>a){
      return sum(a, b);
   }else{
      return sum(a-number, b+number);
   }
}

12
return sum(a-number, b+number);সঙ্গে প্রতিস্থাপন return sum(sum(a,-number), sum(b,number));। তুমি ঠিক তোমার নিজের কুকুরের খাবার খেতে পেয়েছ?
ইমোরি

@ এমরি: এটি কাজ করবে না বলে আমি মনে করি।
মার্তিজান আদালত

@ মার্তিজ্নকৌর্টিয়াক্স প্রোগ্রামটির একটি বিপজ্জনক ত্রুটি রয়েছে - এটি একটি নির্মম ট্রল। কেউ যদি জিজ্ঞাসা করে থাকে b+numberতবে এটি সম্পূর্ণ পদ্ধতিটি অপ্রয়োজনীয় obvious যে অবলম্বন করা ভাল। প্লাস এটি আরও ধীর করে তুলবে।
ইমোরি

@ এমরি: ঠিক আছে, আমি এটি পরীক্ষা করেছি এবং এটি দৃশ্যত কাজ করে। দুর্দান্ত :)
মার্টিজন আদালত

14

সি - ওভারকিল হ'ল বেস্ট কিল

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

#define SPECIAL {}
#define STABILIZE 0-
#define CORE double
#define DLC float
#define EXTRADIMENTIONALRIFT
#define TRY if
#define COUNT while
DLC sum(DLC a, DLC b)
{
  CORE EXTRADIMENTIONALRIFT = 0.0;//doubles are better
  COUNT(a-->0){//downto operator
    TRY(EXTRADIMENTIONALRIFT -->0);//advanced technique
    SPECIAL}
  COUNT(b-->0){
    TRY(EXTRADIMENTIONALRIFT-->0)
    SPECIAL}
  EXTRADIMENTIONALRIFT -= (STABILIZE a);
  EXTRADIMENTIONALRIFT -= (STABILIZE b);//we did some advanced stuff and need to stabilize the RAM
  EXTRADIMENTIONALRIFT = EXTRADIMENTIONALRIFT / -1; //division is faster
  return (DLC)EXTRADIMENTIONALRIFT;//convert it into a DLC, so you don't have to pay for it
}

শুধু এটি দেখুন। এটা অবশ্যই খারাপ।


3
ওপিকে দ্রষ্টব্য: আপনি সম্ভবত অতিরিক্ত মাত্রার ছড়াটি এড়াতে পারবেন, তবে আপনাকে তখন কোয়ান্টাম পদার্থবিজ্ঞানের সাথে খেলতে হবে, এবং আপনি এটি করতে চান না।

14

পাইথন

log(ab) = log(a) + log(b)অল্প সংখ্যক জন্য কাজ করে এমন সমাধানের জন্য গণিতের পরিচয় ব্যবহার করে তবে কোনও ব্যবহারিক প্রয়োগের জন্য ওভারফ্লো হয়।

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

import cmath
def get_sum(list):
     e_vals = map(lambda x: cmath.exp(x), list)
     prod   = reduce(lambda x, y: x*y, e_vals)
     return cmath.log(prod)

get_sum(range(1,10))  # correctly gives 45
get_sum(range(1,100)) # gives nan

পাইথন 3 @ উবুন্টু
s3lph

1
@ থি_এসপিপি এটি পুরোপুরি ভালভাবে কাজ করে। from functools import reduceপাইথন 3 এর জন্য কেবল যুক্ত করুন ।
বাকুরিউ

13

সি শার্প

আপনার সমস্যা সমাধানের জন্য আপনার পুনরাবৃত্তি ব্যবহার করা উচিত

    public int Add(int a, int b)
    {
    if (b == 1)
    {
    //base case
    return ++a;
    }
    else 
    {
    return Add(Add(a, b-1),1);
    }

}

এটি পেনোর পক্ষে যথেষ্ট যদি হয় তবে এটি সবার পক্ষে যথেষ্ট।


2
আমি শুধু এই উত্তর দিতে চেয়েছিলেন। আইএমএও এটি এবং স্লিপড একদম সেরা উত্তর, যেহেতু অন্যগুলি অযথা জটিল। এর পরিবর্তে এগুলি এখনও সম্পূর্ণ অকেজো তবে সংক্ষিপ্ত এবং মার্জিত। এলোমেলো জটিলতা যুক্ত করে এগুলি অকেজো করা খুব সহজ (তাই বিরক্তিকর)।
o0 '

1
যুক্তি ত্রুটিহীন!
recursion.ninja

এর ++aপরিবর্তে হওয়া উচিত নয় a++? (সম্পাদনাগুলি কমপক্ষে characters টি অক্ষর হতে হবে; এই পোস্টে উন্নতি করার জন্য আরও কিছু আছে?) বোকা বোকা বোকা বোকা SO
o0 '।

@ লোহরিস - হ্যাঁ, হ্যাঁ এটি করা উচিত। স্থির
হাইড্রিয়ান

9

সি ++

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

#include <iostream>

int add2(int a, int b, int bits) {
  // Usage: specify a and b to add, and required precision in bits (not bytes!)
  int carry  = a & b;
  int result = a ^ b;
  while(bits --> 0) {       // count down to 0 with "downto" operator
    int shift = carry << 1;
    carry = result & shift;
    result ^= shift;
  }
  return result;
}

int main() {
  // Test harness
  std::cout << add2(2, 254, 7) << std::endl;
  return 0;
}

1
ট্রোলিং 1: এটি আসলে কাজ করে এবং সংখ্যা যুক্ত করার একটি বৈধ উপায় - এটি হার্ডওয়ার কীভাবে এটি করে তা খুব বেশি দূরে নয়। তবে, গণনাটি বিয়োগফল ব্যবহার করে, সুতরাং এটি মোটেও মোটে বিটওয়াইস সমাধান নয়। ট্রোলিং 2: বিটগুলিতে একটি নির্ভুলতা নির্দিষ্ট করার প্রয়োজন; অযৌক্তিক উত্তরের ভুল নির্ভুলতার ফলাফল। ট্রোলিং 3: "ডাউনটা" অপারেটর।
দাঙ্গা

কিছু ইনলাইন এসেমব্লার যোগ করুন!
কিউরুস

8

আমার সেরা সমাধানটি এখন পর্যন্ত, আপনি চালনা না করা পর্যন্ত একটি দুর্দান্ত বোধগম্য উত্তর দেয় aVeryLargeNumber()

function aVeryLargeNumber(){return Math.log(Math.log(Math.log(Math.log(Math.round((Math.log(!![].join()^{}-({}=={})|(0x00|0x11111)-(0x111111&0x10111))/Math.log(2))/(Math.tan(Math.PI/4)*Math.tan(1.48765509)))+(0xFFFF))/Math.log(2))/Math.log(2))/Math.log(2))/Math.log(2)}
function add(a,b){
    var i=aVeryLargeNumber();
    i--;
    for(;i<b;i+=aVeryLargeNumber(),a+=aVeryLargeNumber());
    return a;

}

3
এটি পড়ে আমার চোখের রক্ত ​​ঝরে পড়ে। +1

এটা কি ফিরে আসে? আমি সত্যিই এটি চালানোর মধ্যে না।
মার্টিজেন আদালত 17

ঐ যে চালানোর জন্য চাই না aVeryLargeNumber(): এটা ফেরৎ 1. (আমি যদি ওপি পিংস আমাকে এই সরিয়ে ফেলবো।)
apnorton

7

সি ++ - টেমপ্লেট রূপকযুক্ত পেনো নম্বরগুলি (alচ্ছিক ডেজ সহ)

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

শেষ পর্যন্ত, প্রাকৃতিক সংখ্যাটি কেবল একটি শূন্য, বা অন্য কোনও প্রাকৃতিক সংখ্যা এক দ্বারা বাড়ানো। এই তথাকথিত পেরানো সংখ্যাগুলি সংখ্যা উপস্থাপন এবং গণনা করার জন্য একটি দুর্দান্ত উপায়।

আপনি যদি ডেজ পছন্দ করেন তবে প্রোগ্রামিংয়ের জন্য প্রাকৃতিক ভাষার ব্যবহারের অনুমতি দেওয়ার জন্য আমি একটি সি ++ এক্সটেনশন লিখেছি। আমার এক্সটেনশনটি ব্যবহার করে এক্সটেনশন এবং এই নিম্নলিখিত কোডটি এখানে পাওয়া যাবে: http://pastebin.com/sZS8V8tN

#include <cstdio>

struct Zero { enum { value = 0 }; };

template<class T>
struct Succ { enum { value = T::value+1 }; };

template <unsigned int N, class P=Zero> struct MkPeano;
template <class P>
struct MkPeano<0, P> { typedef P peano; };
template <unsigned int N, class P>
struct MkPeano { typedef typename MkPeano<N-1, Succ<P> >::peano peano; };

template <class T, class U> struct Add;
template <class T>
struct Add<T, Zero> { typedef T result; };
template <class T, class U>
struct Add<T, Succ<U> > { typedef typename Add<Succ<T>, U>::result result; };

main()
{
        printf("%d\n", MkPeano<0>::peano::value );
        printf("%d\n", MkPeano<1>::peano::value );

        printf("%d\n", Add< MkPeano<14>::peano, MkPeano<17>::peano >::result::value );
        printf("%d\n", Add< MkPeano<14>::peano, Add< MkPeano<3>::peano, MkPeano<5>::peano>::result >::result::value );
}

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

এবং গুরুতর অংশ জন্য:

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

আমার বন্ধুরা আমাকে কোডটি ডগাফাই করতে বলেছিল, তাই আমিও করেছি। এটি মজাদার, তবে আমি মনে করি এটি একেবারে নির্বোধ যে সত্য থেকে দূরে সরে গেছে তাই আমি কেবল এটি একটি লিঙ্ক হিসাবে অন্তর্ভুক্ত করেছি।


1
কি দারুন. যেমন ডেজ। খুব উঁচুতে।
মার্ক ক্লিসেন

6

আমি যখন ভাসমান পয়েন্ট ত্রুটিগুলি সম্পর্কে জানতে পারি তখন কম্পিউটারগুলিতে বিশ্বাস করা বন্ধ করে দিয়েছিলাম।

এই জাভাস্ক্রিপ্ট সুনির্দিষ্ট মানব ত্রুটি পরীক্ষার উপর নির্ভর করে:

while(prompt("Is this the answer: " + Math.round(Math.random()* 1000000)) !== "yes") {}

5

"একটি ফাংশন লিখুন যা ইনপুট করে এবং তাদের যোগফল দেয় returns"

ঠিক আছে:

পাবলিক স্ট্যাটিক স্ট্রিং ইনপুটএন্ড রিটারনথেরসাম () {
    সিস্টেম.আউট.প্রিন্ট ("তাদের যোগফলটি ইনপুট করুন:");
    নতুন স্ক্যানার (System.in) ফেরান
}


এটি আমার প্রিয়। : ডি
জেরোইন বোলেন

4

জাভা বা সি-স্টাইল। এটি ও (লগ এন)। দ্রষ্টব্য: এটি নেতিবাচক a বা b এর জন্য কাজ করে না।

public static int sum(int a, int b)
{
    if ((a & b) == (a ^ a)) return a | b;
    int c = a >> 1;
    int d = b >> 1;
    int s = a & 1;
    int t = b & 1;
    return sum(c, d + t) + sum(d, c + s);
}

আইডিয়ন ডেমো এখানে।


4

হ্যাডোপ স্ট্রিমিংয়ের সাথে বাশ

স্পষ্টতই, aএবং সত্যই বড় bহতে পারে । সুতরাং, আমাদের অবশ্যই হ্যাডোপ ব্যবহার করা উচিত!

# Upload data to cluster:
$HADOOP_HOME/bin/hdfs dfs -mkdir applestore
for i in `seq 1 $a`; do
   echo Banana > /tmp/.$i
   $HADOOP_HOME/bin/hdfs dfs -copyFromLocal /tmp/.$i applestore/android-$i$i
done
for i in `seq 1 $b`; do
   echo Orange > /tmp/.$i
   $HADOOP_HOME/bin/hdfs dfs -copyFromLocal /tmp/.$i applestore/java-$i$i
done
# Now we have all the data ready! Wow!
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \
-input applestore/ \
-output azure/ \
-mapper cat \
-reducer wc
# We can now download the result from the cluster:
$HADOOP_HOME/bin/hdfs dfs -cat azure/part-00000 | awk '{print $1;}'

অতিরিক্ত বোনাস হিসাবে, এই পদ্ধতির সাথে একটি catএবং এ জড়িত wc। এই দেখার জন্য মজা করা উচিত! তবে আমি ভবিষ্যতে এর জন্য মাহাউটকে ব্যবহার করার পরিকল্পনা করছি (যদিও আমি বিড়াল পছন্দ করি)।

আপনি এই প্রশ্নের জন্য এটি পেতে হবে সবচেয়ে সর্বাধিক স্কেলযোগ্য সমাধান । তবে, আমি কল্পনা করতে পারি যে একটি পুনরাবৃত্ত হ্যাডোপ সমাধানটি আরও মার্জিত much


1
আমি অবশ্যই আপনার উত্তরে একটি থিম দেখছি। + ট্রোলিং পয়েন্টগুলি যেহেতু এটির জন্য হুপআপ দরকার, এবং যদি $ HADOOP_Home সেট না করে থাকে তবে খুব মেসে ব্যর্থ হয়।
দাঙ্গা

4

এই সমস্ত বোকা লোকগুলিকে তাদের অ-জেনেরিক এবং অচিরাচরিত শিষ্টাচারগুলি উপেক্ষা করুন। এ জাতীয় স্কেলের একটি প্রকল্পের জন্য আমাদের একটি পারফরম্যান্ট, এক্সটেনসিবল এবং সাধারণ লাইব্রেরি প্রয়োজন। কোডের প্রতিটি পয়েন্টে এটি অবশ্যই এক্সটেনশন এবং সাবস্টিটিউনকে সমর্থন করবে। যে জন্য, আমরা সমান প্রসার্য এবং সহজ ভাষা, যে কেন সেরা প্রার্থী প্রয়োজন C # এর

এই কারণেই আমি আপনাকে আমার অপারেবল কমন্স লাইব্রেরি এন্টারপ্রাইজ সংস্করণ এর বিটা সংস্করণ , সংস্করণ 0.8.4.4_beta1.3a_rev129857_dist29.12.13 / মাস্টার উপস্থাপন করছি , যা এই সংস্করণটিতে একটি IOperableইন্টারফেস, একটি IAddableইন্টারফেস প্রকাশ করে যাতে আপনি নিজের দক্ষ যোগ করার পদ্ধতিগুলি ব্যবহার করতে পারেন এবং এর একটি ডিফল্ট বাস্তবায়নIAddable :Addableবর্গ, যা প্রতারণা করে এবং বহনকারী স্থানান্তরের জন্য ধীর দেশীয় বিয়োগফল ব্যবহার না করে অত্যন্ত দক্ষ বিটওয়াইজ সংযোজন ব্যবহার করে। অবশ্যই, কোনও ভাল লাইব্রেরির মতো এটি প্রতিটি প্রকারের সমর্থন করে এমন একটি কারখানা নিয়ে আসে। লাইব্রেরিটি "এটিকে নিজেই পরিচালনা করুন" নীতিগুলিও অনুসরণ করে, সুতরাং আপনাকে অবশ্যই গ্যারান্টি দিতে হবে যে ইনপুটটি বৈধ এবং পছন্দসই আউটপুটটি সম্ভাব্য, যেহেতু এটি অবৈধ ডেটা পরীক্ষা করবে না। এটি এখানে রয়েছে (এই কোডটি মাইক্রোসফ্ট কর্পোরেশন রিড-ওনাল প্রোপ্রেটারি ডন্ট-টাচ-এই অবস্ট্রাকটিভ লাইসেন্স, রিভিশন ৩.১ এর অধীনে লাইসেন্স করা হয়েছে):

public interface IOperable {
    uint Value {get; set;}
}

public interface IAddable : IOperable {
    IAddable Add(IAddable a, IAddable b);
}

public class Addable : IAddable {
    public uint Value {get; set;}

    public Addable(uint value) {
        Value = value;
    }

    public IAddable Add(IAddable a, IAddable b) {
        uint carry = a.Value & b.Value;
        uint result = a.Value ^ b.Value;
        while (carry != 0) {
            uint shiftedcarry = carry << 1;
            carry = result & shiftedcarry;
            result ^= shiftedcarry;
        }
        return new Addable(result);
    }
}

public static class OperableFactory {
    public static IAddable GetAddable(uint value) {
        return new Addable(value);
    }
}

4

জাভাস্ক্রিপ্ট

প্রোগ্রামিং সবই অ্যালগরিদম সম্পর্কে। 3 বছর বয়সে আমরা কী শিখি - আঙ্গুলগুলি গণনা করে আসুন আমরা বেসিক অ্যালগরিদমে ফিরে যাই।

var fingers = 0;
var hands = 0;
var FINGER_NUMBER = 5;

/* MEAT */
function sum(a,b){
    while(a-- > 0) {
        finger_inc();
    }
    while(b-- > 0) {
        finger_inc();
    }

    return count_hands_and_fingers(); // We count the number of hands and fingers
}

/* Private functions */
function finger_inc(){
    if(++fingers >= FINGER_NUMBER) {
        hands++;
        fingers = 0;
    }
}

function count_hands_and_fingers() {
    var total_count = 0;
    total_count = hands * FINGER_NUMBER;
    total_count += fingers;
    return total_count;
}

document.write(sum(1,50));
  • প্রথমত, সীসা বিকাশকারী হিসাবে, আসুন আমরা একটি বুদ্ধিমান ভাষা পছন্দ করি - ক্রস প্ল্যাটফর্ম, হালকা ওজন এবং বহনযোগ্য।

  • দ্বিতীয়ত, একটি বৈশ্বিক দর্শন আছে। গ্লোবাল ভার ব্যবহার করুন।

  • তৃতীয়ত, ++ গুলি এবং - গুলি

  • ওয়াইএফএস (ইউ-ফিঙ্গার-সিস্টেম) হিসাবে একই, এটি নেতিবাচক সংখ্যাগুলিকে সমর্থন করে না

  • অবশেষে, আপনি পরিবর্তন করতে পারেন FINGER_NUMBER যে আঙ্গুলগুলি অনুযায়ী আপনি ।

জেএসফিডাল: http://jsfiddle.net/e3nc5/


তবে আপনার যদি 10 এর বেশি গণনা করা দরকার? আমার 3 হাত নেই!
এজেম্যানসফিল্ড

হটফিক্স feet ফুট ব্যবহার করুন, আপনি এটি 20 টি পর্যন্ত করতে পারেন Che চিয়ার্স, ডেভিড।
ডেভিড

3

টিআই-বেসিক 83/84

:Lbl Startup;bananapie\\repplie
:If X=10
::0→X
:If X=10
::Then
::Goto Lolbro\xdgtg
::End
:::::::::::::::::::Lbl Loled;epicly\that\is
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Input X,Y
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::If X=Y
:::::::::::::::::::Then
::X+X→A
::Else
:X+Y→A
:A*1+0→A
:End
:If A>A
:Goto Somewhere
:Return A

3

ঠিক আছে, এটি একটি খুব কৌশলযুক্ত। ভাগ্যক্রমে পাইথন এটিকে যুক্তিসঙ্গতভাবে সোজা করে তোলে। এটি সঠিকভাবে করার জন্য আপনার পিআইএল দরকার হবে ।

import Image, ImageDraw

def add_a_to_b(a, b):
    # First, we call the answer 'y', as in 'Y do we care?'
    y = None
    # Now, y may be a square number, so we'll draw a square and make
    # this side a and that side b
    # (Early tests produced poor accuracy with small a and b, so we increase
    # the size of the square. This is an important program, after all!)
    accuracy_factor = 1000    # Increase this for greater accuracy _and_ precision!
    img = Image.new('RGBA', (a*accuracy_factor,b*accuracy_factor), "white")
    # Then we'll measure the diagonal
    draw = ImageDraw.Draw(img)
    draw.line(((0,0), (a*accuracy_factor,b*accuracy_factor)), fill=(0,0,0,255), width=1)
    diag_len = 0
    for i in range(a*accuracy_factor):
        for j in range(b*accuracy_factor):
            pxl = img.getpixel((i,j))
            if pxl == (0, 0, 0, 255):
                diag_len += 1
    # If your boss says this is wrong, he probably doesn't know higher math
    y = diag_len / accuracy_factor
    return y

ওয়াটারসন থেকে মন্তব্য অভিযোজিত ।

ইচ্ছাকৃতভাবে ধীর ব্যবহার করছে Image.getpixel()। আমি নিশ্চিত না যে এটি আসলে যথেষ্ট ধীর , যদিও ডার্নিটাল। আরজিবিএ কেবল অতিরিক্ত স্মৃতি গ্রহণ করতে।


3

জাভা

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

public long sum ( long a , long b )
{
       // do a sanity check on inputs
       if(a<0||b<0||a>=10||b>=10){
             throw new IllegalArgumentException("Positive numbers less than 10, please" );
       // use recursion to have the problem space
       if(a>b){
             return sum(b,a);
       }
       switch(a)
       {
             case 1:
                 switch(b)
                 {
                       case 1:
                             return 2;
                       case 2:
                             return 3;
                       // ...
                       case 8:
                             return 9;
                       default:
                             assert b==9;
                             return 10;
                 }
             case 2:
                 switch ( b )
                 {
                          // ...
                 }
             // ...
             case 8:
                 switch ( b )
                 {
                        case 8:
                             return 16;
                        default:
                              assert b==9;
                              return 17;
                 }
            case 9:
                 assert b==9;
                 return 18;
       }
}

2

একটি ফাংশন যা ইনপুট করে এবং তাদের যোগফল দেয়

অ্যাপ্লিকেশন Lua

function f()
  local theirsum = io.read"*n"
  return theirsum
end

2

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

/*
 * Copyright: Much big company.
 * This code is part of the Skynet. It is highly classified and top-secret!
 */
package com.muchbigcompany.skynet;

import javax.swing.JOptionPane;

/**
 * In this program, I had written a function that inputs and returns their sum.
 * @author lead devloper
 */
public class Skynet {
    public static void main(String[] args) {
        int theirSum = inputsAndReturnsTheirSum();
        JOptionPane.showMessageDialog(null, "Their sum is " + theirSum);
    }

    /**
     * This is a function that inputs and returns their sum.
     * @return their sum.
     */
    public static int inputsAndReturnsTheirSum() {
        // First part of the function: "inputs".
        String inputs = JOptionPane.showInputDialog("Inputs theirs sum");
        int theirSum = Integer.parseInt(inputs);

        // Second part of the function: "returns their sum".
        return theirSum;
    }
}

2

সি ++

অবশ্যই আপনার কিছু টেম্পলেট যাদু প্রয়োজন :

template<int I> struct identity {
    static const int value = I;
};

template<int A, int B> struct sum {
    static const int value = identity<A>::value + identity<B>::value;
};

auto main(int argc, char* argv[]) -> int {
    std::cout << sum<1, 3>::value;
    return 42;
}

2

জাভা

কঠিন সমস্যা।

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

public long sum(int a, int b)
{
    Random r=new Random();
    While(15252352==15252352)
    {
        long sum=r.nextLong(); // guess the solution
        if (sum - a == b)      // verify the solution
            return sum;
    }
}

ভাষার নাম যুক্ত করুন
ওয়াসি

2

এই ফাংশনটি আমার সংস্থার পেটেন্টের অধীনে রয়েছে, আমি আপনাকে এটির একটি অস্পষ্ট লাইসেন্স কপি সরবরাহ করতে পারি:

javascript:

function sum(a,b) { return eval(atob('YSti')) };

ব্যবহার:

sum([arg1],[arg2]);

2

পাইথন

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

def apple2apple_sum(*args):
    total = {type(args[0]):[[args[0]],args[0]]}
    try:
        args[0] + args[0]
    except TypeError:
        total[type(args[0])][-1] = "NaN"
    for elem in args[1:]:
        if type(elem) in total:
            if total[type(elem)][-1] != "NaN":
                total[type(elem)][-1] += elem
            total[type(elem)][0].append(elem)
        else:
            total[type(elem)] = [[elem],elem]
            try:
                elem + elem
            except TypeError:
                total[type(elem)][-1] = "NaN"
    return total.values()

>>> apple2apple_sum(1,2,3,'a', 'b', 4, 5.1, 6.2, 'c', map, 10, sum)
[[['a', 'b', 'c'], 'abc'], [[<built-in function map>, <built-in function sum>], 'NaN'], [[5.1, 6.2], 11.3], [[1, 2, 3, 4, 10], 20]]

1

ফোরট্রান

অবশ্যই সবচেয়ে কার্যকর উপায় হ'ল আপনার বিটগুলি স্থানান্তর করা। এটি iso_c_bindingমডিউলটির মাধ্যমে সি + ফোর্টরান দিয়ে সহজেই করা যায় :

program add_func
   use iso_c_binding
   implicit none
! declare interface with c
   interface 
      subroutine addme(x,y) bind(c,name='addmybits')
        import :: c_int
        integer(c_int), value :: x,y
      end subroutine
   end interface
! need our numbers
   integer(c_int) :: x,y

   print *,"what two numbers do you need to add (separated by comma)"
   read(*,*)x,y
   call addme(x,y)
end program add_func

সি রুটিন যেখানে

#include <stdio.h>

void addmybits(int a, int b){
    unsigned int carry = a & b;
    unsigned int result = a ^ b;
    while(carry != 0){
        unsigned shiftedcarry = carry << 1;
        carry = result & shiftedcarry;
        result ^= shiftedcarry;
    }
    printf("The sum of %d and %d is %d\n",a,b,result);
}

আপনাকে প্রথমে সি কোডটি সংকলন করতে হবে (উদাঃ gcc -c mycfile.c), তারপরে ফোর্টরান কোডটি (যেমন, gfortran -c myf90file.f90) সংকলন করতে হবে এবং তারপরে এক্সিকিউটেবল ( gfortran -o adding myf90file.o mycfile.o) তৈরি করতে হবে।

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