আমার নম্বর আর কত?


26

চ্যালেঞ্জ

একটি পূর্ণসংখ্যা দেওয়া Qহয়েছে, পরিসীমাটিতে -(2^100) ≤ Q ≤ 2^100, সেই সংখ্যার অঙ্কের সংখ্যা নির্ধারণ করুন (বেস 10 তে)।

বিধি

হ্যাঁ, আপনি নম্বরটি স্ট্রিং হিসাবে নিতে পারেন এবং এর দৈর্ঘ্যটি খুঁজে পেতে পারেন।

সমস্ত গাণিতিক ফাংশন অনুমোদিত।

আপনি কোনও বেসে ইনপুট নিতে পারেন, তবে আউটপুট অবশ্যই বেস 10 এর সংখ্যার দৈর্ঘ্য হতে হবে।

নেতিবাচক সংখ্যার জন্য বিয়োগ চিহ্নটি গণনা করবেন না। সংখ্যাটির দশমিক বিন্দু কখনই থাকবে না।

জিরোর একটি বা শূন্য অঙ্ক থাকতে পারে।

ধরুন ইনপুটটি সর্বদা একটি বৈধ পূর্ণসংখ্যার হবে।

উদাহরণ

Input > Output

-45 > 2
12548026 > 8
33107638153846291829 > 20
-20000 > 5
0 > 1 or 0

জয়লাভ

বাইটস মধ্যে সংক্ষিপ্ত কোড।

উত্তর:


10

ব্র্যাচল্যাগ , 1 বাইট

l

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

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

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

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


এইখানেই আমি স্ক্রোলিং বন্ধ করি ... এটি আপত্তিজনক!
বোগদান আলেকজান্দ্রু

39

ট্যাক্সি , 1118 বাইট

1 is waiting at Starchild Numerology.Go to Post Office:w 1 l 1 r 1 l.Pickup a passenger going to Chop Suey.Go to Chop Suey:n 1 r 1 l 4 r 1 l.Pickup a passenger going to Crime Lab.'-' is waiting at Writer's Depot.Go to Writer's Depot:n 1 l 3 l.Pickup a passenger going to Crime Lab.Go to Crime Lab:n 1 r 2 r 2 l.Switch to plan "n" if no one is waiting.-1 is waiting at Starchild Numerology.[n]0 is waiting at Starchild Numerology.Go to Starchild Numerology:s 1 r 1 l 1 l 2 l.Pickup a passenger going to Cyclone.Pickup a passenger going to Addition Alley.Go to Cyclone:e 1 l 2 r.[r]Pickup a passenger going to Cyclone.Pickup a passenger going to Addition Alley.Go to Zoom Zoom:n.Go to Addition Alley:w 1 l 1 r.Pickup a passenger going to Addition Alley.Go to Chop Suey:n 1 r 2 r.Switch to plan "f" if no one is waiting.Pickup a passenger going to Sunny Skies Park.Go to Sunny Skies Park:n 1 l 3 l 1 l.Go to Cyclone:n 1 l.Switch to plan "r".[f]Go to Addition Alley:n 1 l 2 l.Pickup a passenger going to The Babelfishery.Go to The Babelfishery:n 1 r 1 r.Pickup a passenger going to Post Office.Go to Post Office:n 1 l 1 r.

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

Ungolfed:

1 is waiting at Starchild Numerology.
Go to Post Office: west 1st left 1st right 1st left.
Pickup a passenger going to Chop Suey.
Go to Chop Suey: north 1st right 1st left 4th right 1st left.
Pickup a passenger going to Crime Lab.
'-' is waiting at Writer's Depot.
Go to Writer's Depot: north 1st left 3rd left.
Pickup a passenger going to Crime Lab.
Go to Crime Lab: north 1st right 2nd right 2nd left.
Switch to plan "n" if no one is waiting.
-1 is waiting at Starchild Numerology.
[n]
0 is waiting at Starchild Numerology.
Go to Starchild Numerology: south 1st right 1st left 1st left 2nd left.
Pickup a passenger going to Cyclone.
Pickup a passenger going to Addition Alley.
Go to Cyclone: east 1st left 2nd right.
[r]
Pickup a passenger going to Cyclone.
Pickup a passenger going to Addition Alley.
Go to Zoom Zoom: north.
Go to Addition Alley: west 1st left 1st right.
Pickup a passenger going to Addition Alley.
Go to Chop Suey: north 1st right 2nd right.
Switch to plan "f" if no one is waiting.
Pickup a passenger going to Sunny Skies Park.
Go to Sunny Skies Park: north 1st left 3rd left 1st left.
Go to Cyclone: north 1st left.
Switch to plan "r".
[f]
Go to Addition Alley: north 1st left 2nd left.
Pickup a passenger going to The Babelfishery.
Go to The Babelfishery: north 1st right 1st right.
Pickup a passenger going to Post Office.
Go to Post Office: north 1st left 1st right.

ব্যাখ্যা:

Pickup the input and split it into individual characters
Pickup the value 1.
If the first character a hyphen, add -1. Otherwise, add 0.
Keep picking up characters and adding 1 until you're out.
Convert the running total to a string and print to stdout.

8
আমি এই বিনিময়ে দীর্ঘকাল ধরে লুকার হয়েছি, তবে এর আগে এর আগে কখনও দেখিনি
জাভা কাপ ১ Java

7
সংখ্যাটি যদি দীর্ঘ হয় তবে কী এই গ্যাস শেষ হয়ে যাবে?
রবার্ট ফ্রেজার

5
এটি ব্রেনফাকের চেয়ে বড় মস্তিষ্কের ফাক।
ওমেগা

1
@ রবার্টফ্রেজার এজন্যে আমরা Zoom Zoomপ্রতিটি লুপে থামি plan "r"। আমি এটি মাত্র 100,000 অঙ্ক পর্যন্ত পরীক্ষা করেছি এবং এটি কখনই গ্যাসের বাইরে চলে যায় না। আমি এটি গণনা করি নি তবে আমি মনে করি এটি যে গ্যাস ব্যবহার করছে তার জন্য পরিশোধ করার জন্য যথেষ্ট ভাড়া বেশি নেয় কারণ এটি প্রতিটি লুপের ট্যাঙ্কটি পূরণ করে।
ইঞ্জিনিয়ার টোস্ট 12

1
@ কুপফজভা ওহ আমার গোশ আমি কীভাবে শেক্সপিয়ার সম্পর্কে ভুলে গেছি ।
ইঞ্জিনিয়ার টোস্ট


14

ডিসি, ৩

?Zp

নোট করুন যে সাধারণত স্বাভাবিকের পরিবর্তে সাধারণত dcনেতিবাচক সংখ্যাগুলি দেওয়া প্রয়োজন । তবে, এক্ষেত্রে হয় ব্যবহার করা যেতে পারে। যদি দেওয়া হয়, তবে এটিকে খালি স্ট্যাকের বিয়োগ হিসাবে গণ্য করে, নিক্ষেপ করে এবং তারপরে বাকী সংখ্যাটি দিয়ে চালিয়ে যায়; সুতরাং ফলাফলটি আলাদা নয়।_--dcdc: stack empty

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

?    # input
 Z   # measure length
  p  # print

এটি কি কেবল Zকোনও ফাংশন জমা দেওয়ার মতো হতে পারে না ? dc'উদ্ধৃতি + দ্বিপ + ইভাল অপারেটরগুলির সাথে একটি সাবলীল ভাষা, এটি কোডের স্বেচ্ছাসেবী স্ট্রিংগুলিকে পুনরায় ব্যবহার করতে পারে।


5

Ä, হাহ? না þ? যথেষ্ট ফর্সা।
ম্যাজিক অক্টোপাস উরন

@ কারাসোকম্পুটিং আমি Äপ্রথমে ভেবেছিলাম , তবে þদশমিক পয়েন্টটি পরিচালনা করব, তাই আমার ধারণা এটি আরও ভাল।
রিলে

একে অপরের 2 মিনিটের মধ্যে কীভাবে 2 জন 2 টি 2 টি 2 টি বাইট সমাধান নিয়ে এসেছিল তা শীতল করুন, আমি মনে করি না তৃতীয়টি আছে; এক ভেবে দেখার চেষ্টা করছি
ম্যাজিক অক্টোপাস উরান

5

এলিস , 16 বাইট

//; 'q<)e
o!@i -

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

ব্যাখ্যা

এটির জন্য একটি অর্ধ-শালীন লেআউট সন্ধান করা বেশ জটিল। স্পেস, <ও এবং এর কারণে আমি এখনও এতে খুব বেশি খুশি নই ;, তবে আপাতত আমি এটিই করতে পারি সেরা।

স্ট্রিংয়ের দৈর্ঘ্য হ'ল এলিসের মধ্যে বিদ্যমান না এমন সাধারণ বিল্ট-ইনগুলির মধ্যে একটি, কারণ এর ইনপুটটি একটি স্ট্রিং এবং এর আউটপুট একটি পূর্ণসংখ্যা (এবং সমস্ত এলিস কমান্ডগুলি পূর্ণসংখ্যার সাথে স্ট্রিং বা স্ট্রিংয়ের সাথে স্ট্রিংগুলিতে কঠোরভাবে পূর্ণসংখ্যা হয়)। আমরা কোনও স্ট্রিংয়ের দৈর্ঘ্যটি টেপটিতে অর্ডিনাল মোডে লিখে এবং তারপরে কার্ডিনাল মোডে খুঁজে বের করে মাপতে পারি।

/      Reflect to SE. Switch to Ordinal. While in Ordinal mode, the IP will bounce
       diagonally up and down through the code.
!      Store an implicit empty string on the tape, does nothing.
;      Discard an implicit empty string, does nothing.
i      Read all input as a string.
'-     Push "-".
<      Set the horizontal component of the IP's direction to west, so we're bouncing
       back now.
-      Remove substring. This deletes the minus sign if it exists.
'i     Push "i".
;      Discard it again.
!      Store the input, minus a potential minus sign, on the tape.
/      Reflect to W. Switch to Cardinal. The IP immediately wraps to the
       last column.
e)     Search the tape to the right for a -1, which will be found at the end
       of the string we stored there.
<      Does nothing.
q      Push the tape head's position, which is equal to the string length.
'<sp>  Push " ".
;      Discard it again.
/      Reflect to NW. Switch to Ordinal. The IP immediately bounces off
       the top boundary to move SW instead.
o      Implicitly convert the string length to a string and print it.
       IP bounces off the bottom left corner, moves back NE.
/      Reflect to S. Switch to Cardinal.
!      Store an implicit 0 on the tape, irrelevant.
       The IP wraps back to the first line.
/      Reflect to NE. Switch to Ordinal. The IP immediately bounces off
       the top boundary to move SE instead.
@      Terminate the program.

আমি কার্ডিনাল মোডে H(পরম মান) দিয়ে বিয়োগ সাইনকেও যত্ন নেওয়ার চেষ্টা করেছি , তবে অতিরিক্ত মোড স্যুইচটি সর্বদা আমার প্রচেষ্টায় আরও ব্যয়বহুল হয়ে যায়।


4

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

<?=-~log10(abs($argn));

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

নিরঙ্কুশ মান 10 এর বেস 10 লগ এবং আরও একটি কাস্তে প্রবেশ করুন

শূন্যের জন্য ইনপুট হিসাবে লগ 10 ফিরে দেয় INFযা মিথ্যা হিসাবে ব্যাখ্যা করা হয়

আরও ভাল উপায় +3 বাইট দ্বারা প্রতিস্থাপন করা $argnহয়$argn?:1

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

<?=strlen($argn)-($argn<0);

স্ট্রিং দৈর্ঘ্যের বিয়োগ বুলিয়ান কম তবে শূন্য

স্ট্রিং তুলনার জন্য +2 বাইট $argn<"0"

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

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

<?=preg_match_all("#\d#",$argn);

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

রেজেক্স সমস্ত অঙ্ক গণনা করুন

35 বাইট

<?=strlen($argn)-strspn($argn,"-");

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

স্ট্রিং দৈর্ঘ্য বিয়োগ গণনা -

strspn


1
প্রথমটি কাজ করে না, উদাহরণস্বরূপ 10, কারণ ^কম অগ্রাধিকার রয়েছে। আপনি এটি দিয়ে এটি ঠিক করতে পারেন -~
ব্যবহারকারী 63956

কেন সহজভাবে নয় <?=strlen(abs($argn));?
roberto06

@ user63956 লগ 10 সহ সংস্করণ ইনপুট শূন্যের ক্ষেত্রে কাজ করতে পারে না তাই আমি এটি মুছি।
জার্গ হালসারম্যান

1
@ JörgHülsermann শুধু কেন নয় $argn?:1? এটা দিয়ে 26 বাইট হবে log10()এবং abs()
ব্যবহারকারী 63956

1
@ JörgHülsermann -~$xএর সমতুল্য ((int)$x)+1<?=-~log10(abs($argn?:1));কাজ মনে হচ্ছে।
ব্যবহারকারী 63956

4

ফরট্রান 95 (গফর্ট্রান), 121 96 95 বাইট

program c
character b
call get_command_argument(1,b,length=i)
print*,i-index(b,'-')
end program

ব্যাখ্যা:
আর্গুমেন্টের দৈর্ঘ্য থেকে '-' চিহ্নের সূচকে বিয়োগ করে।
ফরিনে অ্যারেগুলি 1 থেকে শুরু হয় এবং প্রতীকটি পাওয়া না গেলে সূচী () 0 প্রদান করে।

সম্পাদনা: অন্তর্নিহিত পূর্ণসংখ্যা "i" তে স্যুইচ করা হয়েছে, একীভূত আর্গুমেন্ট গেটরও।

সম্পাদনা করুন: -১ বাইট @ স্যাথোগগুয়া ধন্যবাদ


1
পিপিসিজিতে আপনাকে স্বাগতম!
মার্টিন এন্ডার

3

পাওয়ারশেল, 24 বাইট

"$args"-replace'-'|% Le*

ইনপুট আরগগুলির "পরম" মানটিকে স্ট্রিংয়ে ফেলেছে এবং এর 'দৈর্ঘ্য' বৈশিষ্ট্য লাভ করে।

এর চেয়ে কম 1 বাইট "".Length

যতক্ষণ না কেউ PS তে কোনও সংখ্যার অ্যাবস পাওয়ার আরও ভাল উপায় খুঁজে পান এটি সম্ভবত এটির মতোই সংক্ষিপ্ত।


কীভাবে "$args".trim('-')|% Le*? :)
যাই হোক


3

ব্রেনফাক , 37 বাইট

-[+>+[+<]>+]>->,[-<->]<[>+>],[<+>,]<.

আউটপুট বাইট মান দ্বারা হয়।

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

ব্যাখ্যা

-[+>+[+<]>+]>->  Constant for 45 (from esolangs wiki)
,                Read a byte of input
[-<->]           Subtract that byte from 45
<[>+>]           If the result is nonzero then increment a cell and move to the right
                 (0 means it was a minus; so not counted)
,[<+>,]          Read a byte and increment the cell to its left until EOF is reached
<.               Print the cell that was being incremented

টিআইও লিঙ্কে কোনও ফুটার যুক্ত করা কি সম্ভব যা ফলাফল হিসাবে একটি সংখ্যা হিসাবে আউটপুট দেয়?
বিটা ক্ষয়

@ বেটাডেকে যুক্ত হয়েছে
ব্যবসায়িক বিড়াল

এটি উজ্জ্বল, ধন্যবাদ: ডি
বিটা ডেক

3

রুবি, 15 11 + 1 = 16 12 বাইট

-nপতাকা ব্যবহার করে ।

p~/$/-~/\d/

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

ব্যাখ্যা

                  # -n flag gets one line of input implicitly
p                 # Print
 ~/$/             # Position of end of line (aka string length) in input
     -            # minus
      ~/\d/       # Position of first digit (1 if negative number, 0 otherwise)

1
এটা কি যাদু?
চৌলেট

2
@ শ্যাওলেট একটি ব্যাখ্যা যুক্ত করেছেন।
মান কালি

2

জেলি , 2 বাইট

DL

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

এটি আক্ষরিকভাবে যা জিজ্ঞাসিত হয়েছিল তা করে:

DL - Main link number n         e.g. -45
D  - convert to a decimal list       [-4,-5]
 L - get the length                  2

এটি সেখানে একটি আকর্ষণীয় অন্তর্নির্মিত, Dদশমিকের উপর কাজ করে? হায় -1.2আউটপুট [-1,-0.2]? নিজে চেষ্টা করেছিলাম, তা হয় না।
ম্যাজিক অক্টোপাস উরন

1
মোটামুটি নয়, বেস রূপান্তরটি কেবল ইউনিটগুলিতে নেমে যায়, উদাহরণস্বরূপ, 654.321Dফলন হবে [6,5,4.321](ভাল আসলে [6.0,5.0,4.321000000000026])
জোনাথন অ্যালান

[-6.0, -5.0, -4.321000000000026], প্রকৃতপক্ষে, স্পষ্টতই।
ম্যাজিক অক্টোপাস উরন

আহ - হ্যাঁ সম্পাদিত - ভাসমান পয়েন্ট গণিত।
জোনাথন অ্যালান




2

জাভাস্ক্রিপ্ট (ES6), 27 26 25 24 বাইট

স্ট্রিং হিসাবে ইনপুট নেয়।

s=>s.match(/\d/g).length
  • আরনাউল্ডকে ধন্যবাদ জানিয়ে দুটি বাইট সংরক্ষণ করা হয়েছে।

আপনার শিরোনাম 23 বাইট বলেছেন, কিন্তু আপনার কোড 24 হচ্ছে ... যাইহোক, এই 23 বাইট: s=>`${s>0?s:-s}`.length!
ডম হেস্টিংস

ধন্যবাদ, @ ডোমহাস্টিংস। এটি আমার কাছে আলাদা উত্তর হিসাবে আপনার আলাদা উত্তর হিসাবে পোস্ট করা উচিত।
শেগি


2

জাভা, 30 24 বাইট

i->(""+i.abs()).length()

ধরে নেওয়া iহয় ক BigInteger। এছাড়াও, প্রকারটি প্রাসঙ্গিক করে তোলা হয়েছে, সুতরাং পরীক্ষার কোডে যেমন দেখানো হয়েছে তেমন কোনও আমদানির প্রয়োজন নেই।

পরীক্ষা

// No imports
class Pcg120897 {
  public static void main(String[] args) {
    java.util.function.ToIntFunction<java.math.BigInteger> f =
        // No full class declaration past here
        i->(""+i.abs()).length()
        // No full class declaration before here
      ;
    System.out.println(f.applyAsInt(new java.math.BigInteger("-1267650600228229401496703205376"))); // -(2^100)
    System.out.println(f.applyAsInt(new java.math.BigInteger("1267650600228229401496703205376"))); // (2^100)
  }
}

সংরক্ষণ

  • 30 -> 24 বাইট: @ ক্লিফরোটকে ধন্যবাদ

+""এর বদলে .toString()?
ক্লিফ্রুট

2
এটি কীভাবে অনুরোধ করা হয়েছে তা দেখানোর জন্য iএবং আপনার উত্তরের প্রকারটি স্পষ্ট করার জন্য নমুনা কোড সরবরাহ করার জন্য +1 । আমি মনে করি আরও লম্বা উত্তরগুলি এটি করা উচিত।
পোকে

1

পাইথন 2 , 31 22 বাইট

-9 বাইট রড ধন্যবাদ।

lambda i:len(`abs(i)`)

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


1
len(`abs(s)`)সংখ্যার সাথে ইনপুট হিসাবে সংক্ষিপ্ত
রড

2
খুব খারাপ পাইথনের ফাংশন রচনা নেই। এটা ঠিক হবে len∘repr∘abs
রবার্তো বনভোলেট

1

ব্রেন-ফ্লাক , 63 বাইট

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

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

এটি 62 টি বাইট কোড এবং -aপতাকাটির জন্য +1 বাইট ।

আমি আরও দুটি পদ্ধতির চেষ্টা করেছি, তবে দুর্ভাগ্যক্রমে দু'টিই দীর্ঘ ছিল:

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

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

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

([]<>)

তবে আমাদের প্রথম ইনপুটটি 45 (ASCII -) এর সাথে প্রথম তুলনা করতে হবে , যা এই উত্তরের বাইট গণনাটির বেশিরভাগ।

একটি গাণিতিক সমাধান সংক্ষিপ্ত হতে পারে।


আমি 62 বাইট গণনা ..?
সম্পূর্ণরূপে

1
@totallyhuman আমার সম্পাদনা দেখুন।
ডিজেএমসিএমহেম

49 বাইট:([{}]((((()()()()())){}{})){}{})({(<()>)}{}[]<>)
নাইট্রডন




1

অ্যালিস , 10 বাইট (প্রতিযোগী নয়)

 /d/
O@IHc

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

এটি একটি প্রতিদ্বন্দ্বিতামূলক সমাধান, কারণ এই চ্যালেঞ্জটি পোস্ট করার সময় কমান্ডটি cঅফিসিয়াল (এবং কেবলমাত্র: ডি) অনুবাদকের মধ্যে বাগ করা হয়েছিল। মার্টিন এেন্ডার এদিকে এটি ঠিক করেছিলেন, সুতরাং এটি এখন কার্যকর।

ব্যাখ্যা

নির্দেশিকা নির্দেশকটি দুটি আয়নাতে ( /) একাধিকবার অতিক্রম করে , সুতরাং এটি অনুসরণ করা কিছুটা কঠিন হতে পারে। আমি এটিকে যথাযথভাবে ব্যাখ্যা করার চেষ্টা করব, মূল দিকনির্দেশনা ব্যবহার করে (যেমন এন আপ, এসডাব্লু নীচে বাম দিকে ...)। আমি /1বাম দিকের আয়না এবং /2ডানদিকে ডেকে আছি ।

Command    Direction    Comment
               E        Execution starts from the upper-left corner going right
   /1        E → SE     Passing through the mirror changes direction and switches
                        to ordinal mode (string operations)
   I        SE → NE     Push the input string to the stack, then bounce against
                        the bottom of the code
   /2       NE → S      Back to cardinal mode (numeric operations)
   H           S        Pop n, push abs(n). Execution wraps from bottom to top
   /2        S → SE     Ordinal mode again
   c        SE → NW     Pop s, push each char of s separatedly. Bounce against
                        the bottom right corner
   /2       NW → W      Cardinal mode
   d           W        Push the depth of the stack (which is now equal to 
                        the number of characters in abs(input))
   /1     W → NW → SW   Pass through the mirror, then bounce agains the top
   O        SW → NE     Output the result, then bounce on the bottom left corner
   /1       NE → S      Last mirror, I promise
   @           S        Terminate execution

1

জিএনইউ মেক , 78 বাইট

আবশ্যক শৈলী:

$(eval T=$1)$(foreach D,$(shell seq 9),$(eval T=$(subst $D,? ,$T)))$(words $T)

কার্যকরী শৈলী, 113 বাইট:

$(eval 2?=$(shell seq 9))$(if $2,$(call $0,$(subst $(word 1,$2),? ,$1),$(wordlist 2,$(words $2),$2)),$(words $1))

খাঁটি মেক, 83 বাইট:

$(eval T=$1)$(foreach D,0 1 2 3 4 5 6 7 8 9,$(eval T=$(subst $D,? ,$T)))$(words $T)

1

সি ++, 80 76 বাইট

#include<string>
int main(int,char**c){printf("%d",strlen(c[1])-(*c[1]<46));}

যুক্তি দৈর্ঘ্য প্রিন্ট, minuses 1 যদি প্রথম অক্ষর একটি বিয়োগ কারণ boolগ্যারান্টী রূপান্তর করতে 1হলে trueবা 0যদিfalse

  • আমি <46পরিবর্তে ব্যবহার করতে পারি এবং এটির পরিবর্তে =='-'অ্যারেটি ডিফারেন্স করার জন্য @ স্পিডিকে 4 বাইট ধন্যবাদ[]

আপনি প্রতিস্থাপন 4 বাইট বন্ধ শেভ পারে c[1][0]=='-'সঙ্গে *c[1]<46যেহেতু আমরা ইনপুট অনুমান সবসময় একটি বৈধ পূর্ণসংখ্যা হতে হবে পারবেন না। ('-' ব্যতীত উপসর্গগুলির অনুমতি না থাকলে ...)
স্কুইডি

পছন্দ করুন যুগে যুগে এটিকে ছোট করার চেষ্টা করে আমি আমার মস্তিষ্ককে টান দিয়েছি এবং এটির সাথে কখনও আসেনি! পরামর্শের জন্য ধন্যবাদ, এবং বিশেষ করে আমাকে জানানোর জন্য পিসিসিজিতে সাইন আপ করার জন্য!
তাস

1

টিআই-বেসিক (টিআই -৪৪ প্লাস সিই, ওএস 5.2+), 6 বাইট

length(toString(abs(Ans

টিআই-বেসিক একটি টোকেনাইজড ভাষা; length(এবং toString(প্রতিটি দুটি বাইট হয়।

Ansঅন্তর্নিহিত ইনপুট হিসাবে ব্যবহৃত হয়; সর্বশেষ (একমাত্র) লাইনের মান স্পষ্টভাবে ফেরত দেওয়া হয়েছে।

খুব সহজ, বিয়োগ চিহ্ন থেকে মুক্তি পাওয়ার জন্য নিখুঁত মান নেয়, স্ট্রিংয়ে রূপান্তরিত হয়, স্ট্রিংয়ের দৈর্ঘ্য প্রদান করে।

একটি 6-বাইট গাণিতিক পদ্ধতির যা 0 এর জন্য কাজ করে না:

1+log(abs(Ans

কোন ক্যালকুলেটর আছে toString(?
kamoroso94

@ কামোরসো94 টিআই -৪৪ প্লাস সিই
পিজাপ্যান্টস 184

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