কীভাবে সহজেই ওজন কমে যায়?


15

এই প্রশ্নে, আমরা কেবল অনুশীলন করে ওজন হ্রাস করার দিকে মনোনিবেশ করব, যদিও ওজন হ্রাস করার এখনও অনেক উপায় রয়েছে।

বিভিন্ন ক্রীড়া বিভিন্ন পরিমাণে ক্যালোরি পোড়ায়।

উদাহরণস্বরূপ, এক ঘন্টার জন্য বিলিয়ার্ড খেলে ১০২ ক্যালরি পোড়াতে পারে [১] , 15 মিনিটের জন্য বাস্কেটবল খেলে ইতিমধ্যে ১১৯ ক্যালরি পোড়াতে পারে [১] , যা কমপক্ষে কিছু দৃষ্টিকোণ থেকে, বাস্কেটবল খেলে সহজ ওজন হ্রাস করে।

স্বাচ্ছন্দ্যকে ওজন করার সঠিক উপায়টি প্রয়োজনীয় সময় দ্বারা পুড়ে যাওয়া ক্যালোরির পরিমাণকে ভাগ করে নেওয়া হয় যা আমাদের ইজেনেস সূচক (EI) দেয়।

উদাহরণস্বরূপ, 15 মিনিটের জন্য বেড়া 85 85 ক্যালোরি পোড়াতে পারে, যা 85/15 এর EI পায়।

আপনাকে এই ফর্ম্যাটে একটি তালিকা দেওয়া হবে:

[["fencing",15,85],["billiards",60,102],["basketball",15,119]]

বা আপনি চান যে অন্য ফর্ম্যাট।

তারপরে, আপনি সর্বাধিক EI রয়েছে এমন খেলাগুলি আউটপুট করবেন।

টি এল; ডিআর

টিপলস [name,value1,value2]আউটপুট একটি তালিকা দেওয়া nameযেখানে value2/value1সর্বোচ্চ।

সীমাবদ্ধতাসমূহ

  • প্রক্রিয়াটিতে পূর্ণসংখ্যক নয় এমন কোনও আসল সংখ্যা আপনি তৈরি করতে পারবেন না
  • আপনি অন্তর্নির্মিত কোনও ভগ্নাংশ ব্যবহার করতে পারবেন না

বিশেষ উল্লেখ (স্পেস)

  • যদি ফলাফলটি সন্তুষ্ট করে একাধিক নাম থাকে তবে আপনি তাদের কোনও খালি উপসেট বা তাদের কোনও উপাদান আউটপুট দিতে পারেন।
  • নামটি রেজেক্সের সাথে মিলবে /^[a-z]+$/, এর অর্থ এটি কেবল ছোট হাতের ল্যাটিন স্ট্যান্ডার্ড বর্ণমালা দ্বারা গঠিত।
  • তালিকাটি খালি হবে না।

পরীক্ষা ক্ষেত্রে

ইনপুট:

[["fencing",15,85],["billiards",60,102],["basketball",15,119]]

আউটপুট:

basketball

তথ্যসূত্র

  1. http://calorielab.com/burned/

1
আমাদের ভাষায় পূর্ণসংখ্যা বিভাজকটি ডিফল্টরূপে একটি ভগ্নাংশের প্রকার তৈরি করে তা কি ঠিক আছে?
xnor

1
1. হ্যাঁ 2. ভগ্নাংশ অন্তর্নির্মিত
লিকি নুন


4
আপনার অর্থ "কীভাবে সহজে ওজন হারাবেন?" "কীভাবে সহজেই ওজন হ্রাস করা যায়?" না ... ..
উন্মাদ

3
@ লেকিউন রাইট .. শিরোনামে রসিকতার ভিতরে .. কারণ বেশিরভাগ লোক এটিকে খারাপ ব্যাকরণ হিসাবে পড়েন: পি
ইনসান

উত্তর:


13

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

lambda l:max((10**len(`l`)*a/b,s)for s,b,a in l)[1]

বৃহত্তম অনুপাতের সাথে এন্ট্রি সন্ধান করার সুস্পষ্ট জিনিসটি কি না, তবে মেঝে-বিভাজনের আগে 10 এর বিশাল ইনপুট-নির্ভর শক্তি দ্বারা প্রথমে অঙ্কটি গুণিত করে ভাসমানগুলির বিরুদ্ধে নিষেধাজ্ঞার পক্ষে পদক্ষেপ রাখে।

আমি প্রমাণ করব যে এই গুণাগুণটি তল-বিভাগকে অ-তল বিভাগের মতো একই পার্থক্য তৈরি করার পক্ষে যথেষ্ট বড়।

দাবি: যদি একটি 1 / খ 1 > একটি 2 / খ 2 , তারপর মেঝে (নার 1 / খ 1 )> মেঝে (নার 2 / খ 2 কোন N≥b জন্য) 1 2

প্রুফ: নোট করুন যে 1 / বি 1 - একটি 2 / বি 2 1 / বি 1 বি 2 এর একক , সুতরাং 1 / বি 1 - একটি 2 / বি 2 > 0 যে বোঝা

1 / বি 1 - একটি 2 / বি 2 ≥ 1 / বি 1 বি 2

তারপরে, উভয় পক্ষকে N দ্বারা গুণিত করুন,

না 1 / বি 1 - না 2 / বি 2 ≥ এন / বি 1 বি 2 ≥ 1

সুতরাং, যেহেতু না 1 / বি 1 এবং না 2 / বি 2 কমপক্ষে 1 দ্বারা পৃথক হয়েছে, তাদের নিজস্ব মেঝে পৃথক। ∎

এখন, নোট করুন যে পণ্য খ 1 বি 2 এর মোট দৈর্ঘ্যের দৈর্ঘ্যের দৈর্ঘ্য রয়েছে, যা ইনপুটটির স্ট্রিং দৈর্ঘ্যের চেয়ে কম। ইনপুট যেহেতু বেস 10 তে রয়েছে N=10**len(`l`)তাই শর্তের গ্যারান্টি দিয়ে এর চেয়ে বেশি সংখ্যাসমৃদ্ধ একটি সংখ্যা উত্পাদন করতে এর দৈর্ঘ্যের শক্তিটি 10 ​​ব্যবহার করা যথেষ্ট ।


কোন সুযোগ যেমন 9পরিবর্তে কাজ করতে পারে 10?
লিন

2
@ লিন দুর্ভাগ্যক্রমে, এটি বিশাল ইনপুটগুলির মতো ব্যর্থ [('y', 10**296+1, 1), ('x', 10**296, 1)]
xnor

8

জাভাস্ক্রিপ্ট (ES6), 43 বাইট

a=>a.sort(([p,q,r],[s,t,u])=>q*u-r*t)[0][0]

বা বিকল্পভাবে

a=>a.sort((v,w)=>v[1]*w[2]-v[2]*w[1])[0][0]

বাছাই অবশ্যই এটির জন্য ওভারকিল, তবে reduce46 বাইট লাগবে:

a=>a.reduce((v,w)=>v[1]*w[2]-v[2]*w[1]?v:w)[0]

7

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

pG/*&X<)

সমস্ত গণিত সংখ্যা হ'ল পূর্ণসংখ্যা মান। প্রথমত, ডিনোমিনেটরগুলির পণ্য গণনা করা হয় (এটি একটি পূর্ণসংখ্যা)। এই পণ্যটি প্রতিটি ডিনোমিনেটর দ্বারা বিভক্ত হয় (যা একটি পূর্ণসংখ্যা দেয়)। প্রতিটি ফলাফল তার পরে সংশ্লিষ্ট অঙ্ক দ্বারা গুণিত হয়। এটি মূল ভগ্নাংশের সমানুপাতিক পূর্ণসংখ্যার মান দেয়।

ইনপুট ফর্ম্যাটটি হ'ল: ডিনোমিনেটরগুলির সাথে সংখ্যাসূচক অ্যারে, অঙ্কগুলির সাথে সংখ্যাসূচক অ্যারে, খেলাধুলার নামের সাথে স্ট্রিংগুলির সেল অ্যারে:

[85, 102, 119]
[15, 60, 15]
{'fencing', 'billiards', 'basketball'}

যদি বেশ কয়েকটি মিনিমাইজার থাকে তবে প্রথমটি হ'ল আউটপুট।

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

p     % Take first input. Compute the product of its entries
G/    % Divide by first input element-wise
*     % Take second input. Multiply by previous array element-wise
&X<   % Argmax
)     % Take third input. Index into it using previous result. Display

5

ডায়ালগ এপিএল , 18 বাইট

⎕⊃⍨(⊢⍳⌈/)⎕×(∧/÷⊢)⎕

সময়ের জন্য প্রম্পট করে, তারপরে ক্যালরির জন্য, তারপরে ক্রিয়াকলাপের নামের জন্য।

প্রম্পট (সময়ের জন্য)

(∧/÷⊢)LCM ∧/বার দ্বারা বিভক্ত এর ÷বার (কোন ভাসে তাই)

⎕× প্রম্পট (ক্যালরির জন্য) এবং তাদের দ্বারা গুণিত করুন

(⊢⍳⌈/)যে , অবস্থান পেতে সর্বোচ্চ মান⌈/

⎕⊃⍨প্রম্পট (কার্যকলাপের জন্য), তারপর বাছাই এন ম ।

উদাহরণ রান:

      ⎕⊃⍨(⊢⍳⌈/)⎕×(∧/÷⊢)⎕
⎕:
      15 60 15
⎕:
      85 102 119
⎕:
      'fencing' 'billiards' 'basketball'
basketball

4

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

:{bh.}a*g:?z:2aott.
[D:[S:I:J]]tt:D*:I/:S.

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

/উপরেরটি পূর্ণসংখ্যা বিভাগ কারণ উভয় J*Dএবং Iপূর্ণসংখ্যা (D একাধিক)I বাস্তবে )।

ব্যাখ্যা

  • প্রধান শিকারী: Input = [["string":mins:cals]:...]

    :{bh.}a*                Multiply all mins in the Input together
            g:?z            Zip that number with the Input
                :2a         Apply predicate 2 to that zipped list
                   ott.     Sort the list of lists on the values of the first element of
                              sublists, Output is the string of the last sublist
    
  • ভবিষ্যদ্বাণী 1:

    [D:[S:I:J]]             Input = [D:[S:I:J]]
               tt:D*        Multiply J by D
                    :I/     Divide the result by I
                       :S.  Output = [That number:S]
    

3

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

বাইট গণনাটি আইএসও 8859-1 এনকোডিং ধরেছে।

\d+
$*
%`\G1
0
1
:$_:
Ts`0p¶`0_`:.+?:
+`(0+) \1
@$1 
O`
!`\w+$

ফর্ম্যাট সহ ইনপুট প্রতি লাইনে একটি খেলা value1 value2 name। আউটপুট সর্বাধিক ফলাফলগুলির মধ্যে একটি (যদি কোনও টাই থাকে তবে এটি সবচেয়ে বড়টির সাথে একটি দেয় value1এবং সেগুলি যদি বাঁধা হয় তবে অভিধানগুলি আরও বড় করে দেবে name)।

দ্রষ্টব্য যে এটি অতি ধীর ( গতকালের স্ট্যাক এক্সচেঞ্জের আউটজেটের ঠিক একই কারণে )। এটিকে যুক্তিসঙ্গত সময়ে চালিত করতে \bআপনি এর সামনে একটি যুক্ত করতে পারেন(0+) (এটি কোনওভাবে ইনপুট প্রসেস করার পদ্ধতিটিকে প্রভাবিত করবে না কিন্তু সেই রেজেক্সের ব্যাকট্র্যাকিংকে মারাত্মকভাবে সীমাবদ্ধ করে)। আমি নীচের পরীক্ষার লিঙ্কে এটি করেছি।

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


3

পাইথন 2, 55 54 বাইট

lambda x:sorted(x,lambda(S,N,D),(s,n,d):N*d-n*D)[0][0]

@ এক্সনরকে 1 বাইট বন্ধ করে গল্ফ করার জন্য ধন্যবাদ!

আইডিয়নে এটি পরীক্ষা করুন ।


নিস! আমি ভুলে গিয়েছিলাম যে sortedএকটি দুটি ইনপুট তুলনামূলক ফাংশন নিতে পারে, আমি একসাথে এটি হ্যাক করতে যাচ্ছিলাম।
xnor

আনপ্যাক করা কম বলে মনে হচ্ছে lambda(a,b,c),(d,e,f):b*f-c*e
xnor

@ এক্সনর ঝরঝরে! আমি জানতাম না যে আপনি এটি করতে পারবেন।
ডেনিস

2

হাস্কেল 72 70 বাইট

import Data.List
(n,(x,y))%(m,(a,b))=compare(x*b)$y*a
fst.minimumBy(%)

ব্যবহার:

main=putStr$(fst.minimumBy(%))[("fencing",(15,85)),("billiards",(60,102)),("basketball",(15,119))]

1

গণিত, 46 বাইট

Last/@MaximalBy[#,g=LCM@@First/@#;g#2/#&@@#&]&

টিপলসের ক্রমটি হওয়া উচিত {value1,value2,name}। সমস্ত সর্বাধিক ফলাফলের সম্পূর্ণ সেট প্রদান করে।

value1বিভাগের আগে সকলের এলসিএম দিয়ে অঙ্ককে গুণ করে আমি ভগ্নাংশ ব্যবহারের আশেপাশে কাজ করি ।


1

আর, 42 40 বাইট

function(v)v[which.max(v[,3]%/%v[,2]),1]

কলামের ধরণের স্ট্রিংয়ের সাথে ডেটা ফ্রেমের আকারে ইনপুট নেয় (এটি উপাদানগুলির সাথেও কাজ করে), সংখ্যাসূচক, সংখ্যাসূচক।

  • %/% পূর্ণসংখ্যা বিভাগ

এটি আমার প্রথম জমা, এটি নিয়মের মধ্যে রয়েছে কিনা তা আমাকে জানান।

সম্পাদনা: দেখা যাচ্ছে এক-লাইন ফাংশন সংজ্ঞায়িত করার জন্য আপনার ধনুর্বন্ধনীগুলির দরকার নেই।


যদি একই অনুরূপ দুটি অনুপাত একই সংখ্যায় ভাগ হয়, যেমন 7 / 3,9 / 4?
নিল

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

1

সি ++ 14, 89 বাইট

লাম্বদা ফাংশন:

[](auto s,int*a,int*b,int l){int r=--l;while(l--)r=b[l]*a[r]>a[l]*b[r]?l:r;return s[r];};

Ungolfed:

[](auto s,int*a,int*b,int l)
{
  int r = --l;
  while(l--)
    r = b[l] * a[r] > a[l] * b[r] ? l : r;
  return s[r];
};

ব্যবহার:

#include <iostream>

int main()
{
  const char* s[] = {"fencing", "billiards", "basketball"};
  int a[] = {15,60,15};
  int b[] = {85,102,119};
  std::cout << [](auto s,int*a,int*b,int l){int r=--l;while(l--)r=b[l]*a[r]>a[l]*b[r]?l:r;return s[r];}(s,a,b,3);
}

1

হাস্কেল, 46 বাইট

s(n,(x,y))=(divMod y x,n)
g =snd.maximum.map s

সম্পাদনা: ড্যামিয়েন দ্বারা নির্দেশিত হিসাবে এই সমাধানটি কাজ করে না এটি সমস্যার সমাধান করে না। আমি একটি সুন্দর সমাধান অনুসন্ধান করছি।


1
s(_,(x,y))=divMod y xসংক্ষিপ্ত
ড্যামিয়েন

1
s(n,(x,y))=(divMod y x,n) g=snd.maximum.map sখুব ..
ড্যামিয়েন

2
divMod a b < divMod c dসমতুল্য না হলেও এটি সমস্যার সমাধান করে না a/b < c/ddivMod 19 4 < divMod 55 12তবে19/4 > 55/12
ড্যামিয়েন

এমএমএমএইচ আসলে আমার সমাধানটি বেশ দুর্বল ... আমি খুব সুন্দর সমাধানের কথা ভাবব, ধন্যবাদ!
villou24

1

ভিবিএ এক্সেল, 109 বাইট

Function A(B)
R=1
For I=2 To B.Rows.Count
If B(R,2)*B(I,3)>B(I,2)*B(R,3) Then R=I
Next
A=B(R,1)
End Function

ক্রিয়াকলাপ এবং পরামিতিগুলির একটি সারণি রেফারেন্স করে স্প্রেডশিট সেলটি চালান:

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


1

05 এ বি 1 ই , 6 7 বাইট

P¹÷*ZQÏ

@ ডিভাইস এমএটিএল উত্তর পোর্ট করে আমার ডিভোড পদ্ধতির ( অন্য উত্তর সম্পর্কে এই মন্তব্যটি দেখুন ) বগফিক্স করতে +1 বাইট , তাই তাকে করতে ভুলবেন না!

ইনপুটটি তার উত্তরের সমান: তিনটি পৃথক তালিকা, ডিনোমিনেটরের পূর্ণসংখ্যা-তালিকা; মনোনীতদের পূর্ণসংখ্যা-তালিকা; এবং নামের একটি স্ট্রিং-তালিকা।

এটি অনলাইনে চেষ্টা করুন বা আরও কিছু পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা:

P       # Take the product of the (implicit) input-list of denominators
        #  i.e. [85,102,119] → 1031730
 ¹÷     # (Integer)-divide it by each of the denominators of the first input-list
        #  i.e. 1031730 / [85,102,119] → [12138,10115,8670]
   *    # Multiply each (at the same positions) by the (implicit) input-list of nominators
        #  i.e. [12138,10115,8670] * [15,60,15] → [182070,606900,130050]
    Z   # Get the maximum of this list (without popping the list itself)
        #  i.e. [182070,606900,130050] → [182070,606900,130050] and 606900
     Q  # Check which values are equal to this maximum
        #  i.e. [182070,606900,130050] and 606900 → [0,1,0]
      Ï # Only leave the strings of the (implicit) input-list of names at the truthy indices
        #  i.e. ["fencing","billiards","basketball"] and [0,1,0] → ["billiards"]
        # (after which the result is output implicitly)

0

জাভা 8, 128 বাইট

String f(List<Object[]>l){return l.stream().max((x,y)->(int)x[2]*1000/(int)x[1]-(int)y[2]*1000/(int)y[1]).get()[0].toString();}

0

রুবি, 72 বাইট

e=0;while gets;n=$_.split;f=eval n[2]+"/"+n[1];m,e=n[0],f if f>e;end;p m

আমি সত্যিই ভেবেছিলাম এটি আরও খাটো হবে ...

ইনপুটটি STDIN থেকে ফর্ম্যাটে নেওয়া হয় name time calories

ওহ ভাল, এটি সংক্ষিপ্ত করতে কোনও সহায়তা প্রশংসিত হয়।



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