মডুলাস সামিমেশন


27

আমি এই সিকোয়েন্সটিকে "যীশু ক্রম" বলি কারণ এটি মোডের যোগফল । </ P>>

এই ক্রম জন্য, আপনি সব ধনাত্মক পূর্ণসংখ্যা নিতে মি ইনপুট কম এন , এবং এর সমষ্টি নিতে এন প্রতিটি modulo মি । অন্য কথায়:

an=m=1n1nmodm

উদাহরণস্বরূপ, শব্দটি নিন 14 :

14 % 1 = 0
14 % 2 = 0
14 % 3 = 2
14 % 4 = 2
14 % 5 = 4
14 % 6 = 2
14 % 7 = 0
14 % 8 = 6
14 % 9 = 5
14 % 10 = 4
14 % 11 = 3
14 % 12 = 2
14 % 13 = 1
0+0+2+2+4+2+0+6+5+4+3+2+1=31

আপনার লক্ষ্য এখানে একটি ক্রিয়াকলাপ লিখুন যা এই ক্রমটি কার্যকর করে। আপনার সিকোয়েন্স শব্দটি নেওয়া উচিত (এটি 1 থেকে 2 31 পর্যন্ত একটি ইতিবাচক পূর্ণসংখ্যার হবে ) এবং কেবলমাত্র পদটির মান আউটপুট করে। এটি OEIS A004125

বরাবরের মতো, স্ট্যান্ডার্ড লুফোলগুলি প্রয়োগ হয় এবং বাইটের মধ্যে সংক্ষিপ্ত উত্তর!

উত্তর:





6

ফানকি , 25 বাইট

n=>fors=~-i=1i<n)s+=n%i++

সবেমাত্র উত্তর, কাজ মনে হচ্ছে।

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

দেশমস , 25 বাইট।

f(x)=\sum_{n=1}^xmod(x,n)

ডেসমোসে আটকান, তারপরে ফোন করে চালান f

যখন ডেসমোসে আটকানো হয়, তখন ক্ষীরটি দেখতে এটির মতো লাগে

গ্রাফটি যদিও দেখতে ভাল লাগে

যদিও এটি এলোমেলো এবং পুরো জায়গা জুড়ে দেখায়, এটি কেবলমাত্র সমর্থনকারী পূর্ণসংখ্যার ফলাফল।

RProgN 2 , 9 বাইট

x=x³x\%S+

ব্যাখ্যা

x=x³x\%S+
x=          # Store the input in "x"
  x         # Push the input to the stack.
   ³x\%     # Define a function which gets n%x
       S    # Create a stack from "x" with the previous function. Thus this gets the range from (1,x), and runs (i%x) on each element.
        +   # Get the sum of this stack.

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

রিরেজেক্স , 71 বাইট

#import math
(_*)_a$/d<$1_>b$1a/(\d+)b/((?#input)%$1)+/\+a//u<#input
>a

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

আরবল , 19 বাইট

sum(range(1,a)|a%i)

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

হতে পারে , 56 বাইট

whenf is*{n=0whenx is*{ifx>0{n=n+f%x x--}elseprintn}x=f}

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


এই চ্যালেঞ্জের জমাগুলি কি কখনও শেষ হবে? এখন পর্যন্ত আমি প্রতি 40 মিনিটে একটি নতুন পেয়ে যাচ্ছি: পি
নিসা

পছন্দ করেছেন
এটাকো

@ স্টেফেনলেপিক আমি বরং বলব না, কারণ তারা বিভিন্ন ভাষায় বিভিন্ন মানের।
এটাকো

@ স্টেফেনলেপিক আমি তাদের জন্য একত্রিত করেছি, মিনতি করে।
এটাকো

4
দয়া করে এটি করবেন না। পৃথক ভাষা - এমনকি পৃথক পদ্ধতির - পৃথক উত্তরে হওয়া উচিত।
ডেনিস





4

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

lambda n:sum(map(lambda x:x%(n-x),range(n)))

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

সম্পাদনা: পরিসীমা (0, n) (পরিসীমা (n) এ পরিবর্তিত হয়েছে


2
হ্যালো, এবং সাইটে আপনাকে স্বাগতম! rangeস্পষ্টতই প্রথম যুক্তি নেয় 0, সুতরাং আপনি এটির range(n)পরিবর্তে দুটি বাইট দ্বারা সংক্ষিপ্ত করতে পারেন ।
ডিজেএমসিএমহেম

কি শান্তি! আমি এটা ভাবিনি। ধন্যবাদ
Max00355

1
পিপিসিজিতে আপনাকে স্বাগতম! আপনি map38 বাইটের পরিবর্তে একটি তালিকা বোধগম্য ব্যবহার করতে পারেন : এটি অনলাইনে চেষ্টা করুন!
মিস্টার এক্সকোডার

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




3

স্ট্যান্ডার্ড এমএল (এমএলটন) , 53 51 বাইট

fn& =>let fun f 1a=a|f%a=f(% -1)(a+ &mod%)in f&0end

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

Ungolfed:

fn n =>
   let fun f 1 a = a
         | f x a = f (x-1) (a + n mod x)
   in  
       f n 0
   end

পূর্ববর্তী 53 বাইট সংস্করণ:

fn n=>foldl op+0(List.tabulate(n-1,fn i=>n mod(i+1)))

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

ব্যাখ্যা:

List.tabulateএকটি পূর্ণসংখ্যা xএবং একটি ফাংশন নেয় এবং fতালিকা তৈরি করে [f 0, f 1, ..., f(x-1)]। কিছু নম্বর দেওয়া n, আমরা কল List.tabulateসঙ্গে n-1এবং ফাংশন fn i=>n mod(i+1)শূন্য দ্বারা ভাগ এড়ানো। ফলাফলের তালিকাটি সংক্ষিপ্ত করা হয় foldl op+0






2

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

ÎGIN%+

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

আমার প্রথম 05AB1E প্রোগ্রাম;)

বিটিডব্লিউ আমি দুটি 39, 2 জেএস 6 এর জন্য এবং পাইথনের জন্য 1 পেয়েছিলাম, তবে আমি অনেক দেরি করেছিলাম

ব্যাখ্যা:

ÎGIN%+
Î                      # Push 0, then input, stack = [(accumulator = 0), I]
 G                     # For N in range(1, I), stack = [(accumulator)]
  IN                   # Push input, then N, stack = [(accumulator), I, N]
    %                  # Calculate I % N, stack = [(accumulator), I % N]
     +                 # Add the result of modulus to accumulator



2

++ , 14 বাইট যুক্ত করুন

L,RAdx$p@BcB%s

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

কিভাবে এটা কাজ করে

L,   - Create a lambda function.
     - Example argument:     [7]
  R  - Range;        STACK = [[1 2 3 4 5 6 7]]
  A  - Argument;     STACK = [[1 2 3 4 5 6 7] 7]
  d  - Duplicate;    STACK = [[1 2 3 4 5 6 7] 7 7]
  x  - Repeat;       STACK = [[1 2 3 4 5 6 7] 7 [7 7 7 7 7 7 7]]
  $p - Swap and pop; STACK = [[1 2 3 4 5 6 7] [7 7 7 7 7 7 7]]
  @  - Reverse;      STACK = [[7 7 7 7 7 7 7] [1 2 3 4 5 6 7]]
  Bc - Zip;          STACK = [[7 1] [7 2] [7 3] [7 4] [7 5] [7 6] [7 7]]
  B% - Modulo each;  STACK = [0, 1, 1, 3, 2, 1, 0]
  s  - Sum;          STACK = [8]


2

উইন্ডোজ ব্যাচ (সিএমডি), 63 বাইট

@set s=0
@for /l %%i in (1,1,%1)do @set/as+=%1%%%%i
@echo %s%

পূর্ববর্তী -৪-বাইট সংস্করণ:

@set/ai=%2+1,s=%3+%1%%i
@if %i% neq %1 %0 %1 %i% %s%
@echo %s%

2

টি-এসকিউএল, 80 79 বাইট

-১ বাইট @ মিকিটি ধন্যবাদ

WITH c AS(SELECT @ i UNION ALL SELECT i-1FROM c WHERE i>1)SELECT SUM(@%i)FROM c

নামের একটি পূর্ণসংখ্যা প্যারামিটার থেকে ইনপুট পান @, এরকম কিছু:

DECLARE @ int = 14;

থেকে সংখ্যা তৈরি করতে একটি সাধারণ টেবিল এক্সপ্রেশন ব্যবহার 1করে n। তারপরে সেই সিটি ব্যবহার করে মডিউলগুলি যোগ করতে পারেন।

দ্রষ্টব্য: একটি সিটি- ;এর পূর্ববর্তী বিবৃতি এবং সিটিটির মধ্যে একটি দরকার। আমি দেখেছি বেশিরভাগ কোড ;ঘোষণার আগে ডান রাখে , তবে এই ক্ষেত্রে আমি ইনপুট বিবৃতিতে একটি বাইট সংরক্ষণ করতে পারি (যেহেতু প্রযুক্তিগতভাবে আমার কোডটি একমাত্র বিবৃতি)।

এটি চেষ্টা করুন (SEDE)


কম "এসকিউএল-ওয়াই" পথটি কেবলমাত্র 76 বাইট। এবার ইনপুট ভেরিয়েবলের @iপরিবর্তে @(একটি বাইট সংরক্ষণ করে)। এই এক একটি whileলুপ না।

DECLARE @ int=2,@o int=0WHILE @<@i BEGIN SELECT @o+=@i%@,@+=1 END PRINT @o






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