জিরোর মতো গোল


12

লক্ষ্য

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

আবশ্যকতা

ইনপুট

  • একটি ভাসমান পয়েন্ট নম্বর।
  • ডেটা টাইপের সীমাবদ্ধতার মধ্যে একটি আউটপুটে ইনপুট নম্বর ফলাফল ধরে নিও (উদাঃ ওভারফ্লো ত্রুটি উপেক্ষা করুন))
  • 0 একটি অবৈধ ইনপুট।
  • নাম্বার সঠিকভাবে ফ্লোটিং পয়েন্ট ডাটা টাইপ মধ্যে প্রতিনিধিত্ব করা যাবে না (যেমন। "0.35"সঞ্চিত করা হচ্ছে হিসাবে 0.3499999) সমর্থিত করা হবে না।

আউটপুট

  • একটি নিকটতম সংখ্যা যা একটি অ শূন্য অংক এবং শূন্য অঙ্কের যে কোনও সংখ্যার সমন্বয়ে গঠিত।
  • ফলাফল অবশ্যই নেতিবাচক সংখ্যা এবং ভগ্নাংশ সংখ্যা সমর্থন করে।
  • যখন ইনপুটটি শূন্য থেকে দূরে দুটি সম্ভাব্য আউটপুটগুলির মধ্যে ঠিক থাকে।

উপহার

ফোকাসটি উপস্থাপনার চেয়ে গণনার দিকে। আউটপুট একটি ভাসমান পয়েন্ট ডেটা টাইপ হতে পারে। এটি সম্পূর্ণ বা বৈজ্ঞানিক স্বরলিপি পাঠ্য হতে পারে। যদি আপনি কোনও ফাঁক খুঁজে পান যেখানে কোনও নির্দিষ্ট উপায়ে উপস্থাপন করা আপনার বাইট গণনা হ্রাস করে, আপনার কাছে কুডোস!

উদাহরণ

9
-3000
.2
0.2
-.2
7e12
5e-15
1e0

পরীক্ষার কেস

Input     Output
1         1
10        10
17        20
99        100
54321     50000
56789     60000
-123      -100
-789      -800
0.23      0.2
0.25      0.3
-0.25     -0.3
4.56e23   5e23
4.56e-23  5e-23

স্কোরিং

এক সপ্তাহের পরে সর্বনিম্ন বাইট-কাউন্ট সহ কোডটি জয় করে।


3
আমি মনে করি "একটি গুরুত্বপূর্ণ চিত্র" আপনি যে বাক্যাংশটি সন্ধান করছেন তা।
স্টিভ বেনেট

2
0 এর জন্য গোল করার নিয়মটি বেশ অদ্ভুত।
xnor

2
@ এক্সনর, আপনি ঠিক বলেছেন 0 টি 1 এর চেয়ে 0.0001 এর কাছাকাছি, আমার মনে হয় 0 কেবল অবৈধ হওয়া উচিত।
হ্যান্ড-ই-ফুড

1
হ্যাঁ, এবং এটি লক্ষ্য বিবরণের সাথে মেলে না।
স্টিভ বেনিট

উত্তর:


6

এমএটিএল , 3 বাইট

1&V

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

টেস্ট কেস 0.25টিআইও-তে অষ্টাভে চলমান সংকলকটির জন্য ব্যর্থ হয়েছে, তবে উইন্ডোজ মাতলাবে কাজ করে:

এখানে চিত্র বর্ণনা লিখুন

sprintfপ্ল্যাটফর্মের উপর নির্ভর করে "ব্যাংকারদের রাউন্ডিং" বা ".5 থেকে শূন্য থেকে দূরে" .5 ব্যবহার করে অক্টেভ / মতলবের ফাংশন দ্বারা ভিন্ন আচরণ হয়ে থাকে । আরও তথ্য এবং পরীক্ষা এখানে পাওয়া যাবে


জন্য 6 বাইট ,

1t3$Yo

অষ্টাভে এবং মতলব উভয়ই কাজ করে। সমস্ত পরীক্ষার কেস যাচাই করুন


1
"ব্যাংকারদের রাউন্ডিং" বেশিরভাগ ক্ষেত্রেই আমার জেলি উত্তরটি মুছতে পেরেছিল। > _ <
এরিক দি আউটগল্ফার

@ এরিকথ আউটগল্ফার হ্যাঁ, আমি বুঝতে পেরেছিলাম যে এটিও কারণ ছিল। আমি ভাগ্যবান যে মাতলাব এটি করে না :-ড
লুইস মেন্ডো


9

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

x=>x.toPrecision(1)

এটিতে 0বা স্পেসিফিকেশনটি সন্তুষ্ট করে না 25
অ্যান্ডারস কাসের্গ

মজাদার. এই অনুমানটি আমার কাছে 0বোঝায় না। তবে 0.35বিষয়টি ... দেখে মনে হচ্ছে জাভাস্ক্রিপ্টটি গোল করার ক্ষেত্রে পক্ষপাত এড়ানোর চেষ্টা করছে, তবে অনুমানটি পক্ষপাত চায় wants
স্টিভ বনেট

আরে, আপনি আপনার মন্তব্য পরিবর্তন করেছেন - আপনি আগে লিখেছেন 0.35না 25। আমি মনে করি এটি 25 এর জন্য জল্পনা পূরণ করে - এটি "3e + 1" ফিরিয়ে দেয় যা আমার কাছে সঠিক বলে মনে হচ্ছে।
স্টিভ বেনিট

দুঃখিত, আমি এটিকে বদলেছি 0.35কারণ 0.35সঠিক ভাসমান-পয়েন্ট উপস্থাপনা নেই। আচরণটি অবশ্যই ব্রাউজার-নির্ভর হতে হবে; আমি পেতে 252e+1ফায়ারফক্স হবে।
অ্যান্ডারস ক্যাসরগ

হ্যাঁ, আমি ক্রোম বনাম ফায়ারফক্সে এই দুটি ভিন্ন ফলাফল পেয়েছি। কি দারুন.
স্টিভ বেনিট

4

রেটিনা , 63 62 বাইট

1`[1-9]
$*#
#\.?[5-9]
#$&
T`d`0`#[\d.]+
0(\.?)#{10}
1$1
#+
$.0

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


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

দুর্ভাগ্যক্রমে এই উত্তরটি ব্যর্থ বলে মনে হচ্ছে 0.99
নীল

এছাড়াও ব্যর্থ 0.099ইত্যাদি একটি ফিক্স আমার প্রয়াস: এটি অনলাইন ব্যবহার করে দেখুন!
নীল

এছাড়াও ব্যর্থ জন্য 99.99, 100.001...
নিল

0.099দুঃখিত, এখনও ভুল । উজ্জ্বল দিকে আমি মনে করি আপনি তৃতীয় লাইনের +পরে অপসারণ করতে পারেন ;
নিল

2

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

<?=round($x=$argv[1],-floor(log10(abs($x))));

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

আমার অজগর 2 উত্তর হিসাবে একই পদ্ধতি।

সঠিকভাবে হ্যান্ডেল 0.35করাও মনে হচ্ছে , যা এটি জেএস উত্তরের উপরেও একটি পেগ রাখে: ডি


মজার ব্যাপার হচ্ছে, আমি তোমার মোছা পাইথন 3 উত্তর পাইথন 2. কাজ করতে পারে মনে
অ্যান্ডার্স Kaseorg

পরীক্ষিত, এবং এটি! পাইথন উত্তরটি এখনই সম্পাদিত এবং মুছে ফেলা হয়েছে
স্কিডসদেব

2

টি এসকিউএল, 27 বাইট

SELECT FORMAT(i,'G1')FROM t

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

পরীক্ষার কেস:

Input         Output
------------ --------
1             1
10            1E+01
17            2E+01
99            1E+02
54321         5E+04
56789         6E+04
-123         -1E+02
-789         -8E+02
0.23          0.2
0.25          0.3
-0.25        -0.3
4.56E+23      5E+23
4.56E-23      5E-23

(খুব সুন্দর যে আমি এই সমস্ত মানগুলির সাথে ইনপুট টেবিলটি প্রি-লোড করতে এবং এগুলি একবারে চালাতে পারি))


1

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

lambda x:round(x,-int(floor(log10(abs(x)))))
from math import*

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

অজগরকে গল্ফিং করতে অভ্যস্ত করা হয়নি, তবে এটি কাজ করে।

0.35ভাসমান পয়েন্টের অসম্পূর্ণতার কারণে ব্যর্থ হয় ।

পাইথন 2-এ এটি সঠিকভাবে কাজ করে তা নির্দেশ করার জন্য অ্যান্ডারস কাসের্গকে ধন্যবাদ জানাই


এর জন্য আউটপুট 0.25হওয়ার কথা 0.3
অ্যান্ডারস ক্যাসরগ

@ আন্ডারস ক্যাসরগ আমি কেন তা নিশ্চিত নই, তবে জাভাস্ক্রিপ্টের উত্তরের মতো একই ভাসমান-পয়েন্টের ভুলত্রুটির কারণে আমি কেবল এটি অনুমান করতে পারি।
স্কিডদেব

হুম ওয়েট 25 এর একই সমস্যা আছে ... অদ্ভুত।
স্কিডদেব

যে কারও জন্যই ভাবছেন, পাইথন 2 এর roundরাউন্ড শূন্য থেকে দূরে রয়েছে যদিও পাইথন 3 রাউন্ড এমনকি সেকেন্ডে চলেছে, এ কারণেই এটি পাই 2 তে কাজ করে তবে 3 নয়
ফ্লর্নকোয়ে

আপনি এর log(x,10)পরিবর্তে কয়েকটি বাইট ব্যবহার করে গল্ফ করতে পারেন log10(abs(x))
অ্যালিক্স আইজেনহার্ট


1

এক্সেল, 14 বাইট

=ROUNDUP(A1,1)

সাইটে স্বাগতম! এটি একটি দুর্দান্ত প্রথম উত্তর, অন্য কোথাও এটি পরীক্ষা করা যেতে পারে এমন কোনও সংস্থার সাথে কী আপনি পরীক্ষা করতে পারেন, পছন্দসই অনলাইনে, যাতে অন্য ব্যবহারকারীদের এক্সেল ডাউনলোড করতে না হয়?
কেয়ার্ড কইনিরিংহিংহ

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

এটি বেশিরভাগ পরীক্ষার ক্ষেত্রে কাজ করে না। এটি "দশম" অবস্থানের চারপাশে রয়েছে। এটি সর্বাধিক তাৎপর্যপূর্ণ অবস্থান যাই হোক না কেন এটি বন্ধ করতে হবে (আপ না করা)।
হ্যান্ড-ই-ফুড



0

ফোর্থ (গফার্থ) , 24 বাইট

: f 1 set-precision f. ;

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

ভাসমান পয়েন্ট স্ট্যাকের উপর ইনপুট আশা করা যায়। আউটপুট stdout হয়

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

দ্রষ্টব্য: কিছু কারণে, টিও ইন্টারপ্রেটারে রূপান্তরিত 0.25হয় 0.2, যখন আমার স্থানীয় ইনস্টলেশনটি রূপান্তর 0.25করে 0.3। কেন এটি হচ্ছে তা সম্পর্কে আমি পুরোপুরি নিশ্চিত নই, তবে যেহেতু আমি স্থানীয়ভাবে সঠিক ফলাফল পেয়েছি, তাই আমার উত্তরটি যেমন রয়েছে তেমনই রেখে দিচ্ছি

: f                   \ start a new word definition
  1 set-precision     \ set the floating point output words to use 1 significant digit
  f.                  \ output the top of the floating point stack
;                     \ end the word definition
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.