কতগুলি গুরুত্বপূর্ণ ব্যক্তিত্ব?


10

ইনপুট হিসাবে একটি নম্বর দেওয়া, এটি কত তাৎপর্যপূর্ণ পরিসংখ্যান রয়েছে তা নির্ধারণ করুন। এই নম্বরটি স্ট্রিং হিসাবে নেওয়া উচিত কারণ আপনাকে কিছু বিশেষ ফর্ম্যাটিং করতে হবে। আপনি শীঘ্রই আমার অর্থ কী তা আপনি দেখতে পাবেন (আমি মনে করি)।

নিম্নলিখিত সংখ্যাগুলির মধ্যে কমপক্ষে একটি প্রয়োগ করা হলে একটি ডিজিট হ'ল সিগ-ডুমুর is

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

ইনপুট

সংখ্যার একটি স্ট্রিং বা স্ট্রিং অ্যারে। এটির পরে অঙ্ক ছাড়াই এটির দশমিক পয়েন্ট থাকতে পারে। এটির দশমিক বিন্দু মোটেই নাও থাকতে পারে।

আউটপুট

কত সিগ-ডুমুর আছে।

উদাহরণ

1.240 -> 4
0. -> 1
83900 -> 3
83900.0 -> 6
0.025 -> 2
0.0250 -> 3
2.5 -> 2
970. -> 3
0.00 -> 1

সম্পর্কিত তবে ক) এর কোন উত্তর নেই এবং খ) একটি অভিব্যক্তির উত্তর গণনা করার বিষয়ে
ড্যানিয়েল


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

কেন 0.00 -> 1 করে? দশমিক পয়েন্টটি অনুসরণকারী দুটি শূন্যগুলি কি তাৎপর্যপূর্ণ নয় ("চূড়ান্ত শূন্য বা দশমিক অংশের পিছনে থাকা শূন্যগুলি কেবলমাত্র উল্লেখযোগ্য") অনুসারে।
পেঙ্গুইনো

@ পেঙ্গুইনো, যেমন মার্টিন ইন্ডার সঠিকভাবে বলেছিলেন, যদি কেবল 0s হয় তবে শেষ সংখ্যা ব্যতীত সমস্তই শীর্ষস্থানীয় শূন্য হিসাবে বিবেচিত হবে
ড্যানিয়েল

উত্তর:




1

ব্যাচ, 204 202 বাইট

@set/ps=
:t
@if %s:.=%%s:~-1%==%s%0 set s=%s:~,-1%&goto t
@set s=%s:.=%
:l
@if not %s%==0 if %s:~,1%==0 set s=%s:~1%&goto l
@set n=0
:n
@if not "%s%"=="" set/an+=1&set s=%s:~1%&goto n
@echo %n%

STDIN এ ইনপুট নেয়। পিছনে শূন্যগুলি সরিয়ে কাজ করে যদি সংখ্যাটিতে একটি থাকে না , তবে অগ্রণী শূন্যগুলি .সরিয়ে .ফেলুন, যদি না কেবল শূন্য থাকে, তবে এটির ক্ষেত্রে এটি একটি শূন্য ছেড়ে যায়। শেষ পর্যন্ত এটি বাকি স্ট্রিংয়ের দৈর্ঘ্য নেয় takes


আমি %আমার পুরো জীবনে
এতগুলি

1
@ ক্রিটিক্সিলিথোস আমি এর আগে এক লাইনে ১ managed টি পরিচালনা করেছি: কোডগলফ.স্ট্যাকেক্সেঞ্জিং.com
নিল

0

স্কালা, 90 বাইট

& =>(if(&contains 46)&filter(46!=)else&.reverse dropWhile(48==)reverse)dropWhile(48==)size

ব্যাখ্যা:

& =>               //define an anonymous function with a parameter called &
  (
  if(&contains 46) //if & contains a '.'
    &filter(46!=)    //remove all periods
  else             //else
    &.reverse        //reverse the string
    dropWhile(48==)  //remove leading zeros
    reverse          //and reverse again
  )
  dropWhile(48==) //remove leading zeros
  size            //return the length

0

সি # 6, 163 বাইট

using System.Linq;
int a(string s)=>System.Math.Max(s.Contains('.')?(s[0]<'1'?s.SkipWhile(x=>x<'1').Count():s.Length-1):s.Reverse().SkipWhile(x=>x<'1').Count(),1);

Ungolfed

int a(string s)=>                                  
    System.Math.Max(
        s.Contains('.')                                // Has decimal place?
            ?(                                         // Has decimal place!
                s[0]<'1'                               // Start with '0' or '.'?
                    ?s.SkipWhile(x=>x<'1').Count()     // Yes: Skip leading '0' and '.', then count rest... But gives 0 for "0." and "0.00"
                    :s.Length-1)                       // No: Count length without decimal place
            :s.Reverse().SkipWhile(x=>x<'1').Count()   // No decimal place: Skip trailing '0' and count rest
    ,1);                                               // For "0." and "0.00"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.