নম্বর ত্রিভুজ ওয়েভ প্রিন্ট করুন


14

একটি তরঙ্গের প্রশস্ততা এবং সময়কাল দেওয়া হয়েছে, তরঙ্গটি মুদ্রণ করুন। আরও বিশদ জন্য নমুনা আউটপুট দেখুন। তরঙ্গ ফর্মগুলির মোট সংখ্যা সময়ের সাথে সমান হয় এবং প্রতিটি তরঙ্গের উচ্চতা প্রশস্ততার সমান হয়। প্রশস্ততা এবং সময়কাল 10 এর চেয়ে কম হয় আপনি পেছনের স্থানগুলি অগ্রাহ্য করতে পারেন তবে নেতৃস্থানীয় স্থানগুলি নয় not

Sample Input
3 2

Sample Output
  3           3    
 232         232  
12321 12321 12321 12321
       232         232
        3           3  

2
এটি সাইনগুলির চেয়ে ত্রিভুজগুলির মতো বেশি দেখাচ্ছে।
জেবি

আমি ভাবছি এটি ascii-artট্যাগের আওতায় পড়ে । তবে আর্ট অংশটি বেশ উপস্থিত নেই, আসকি গ্রাফিক্সের জন্য অন্য কোনও ট্যাগ থাকতে হবে?
জুয়ান

আমার ধারণা, আপনার মানে "পিরিয়ডের সংখ্যা" এবং ফ্রিকোয়েন্সি নয় not ফ্রিকোয়েন্সি (পিরিয়ডের সংখ্যা) / সময়, গাড়িতে আরপিএমের মতো।
ড। বেলিসারিয়াস

@ জুয়ান, আমি মনে করি আসকি-শিল্প প্রশ্নগুলির সন্ধানকারী লোকেরা সম্ভবত
ফলাফলটিকে

আমি কি প্রতিটি লাইনে শীর্ষস্থানীয় সাদা স্থানের অনুমতি পাচ্ছি? আমাকে তিনটি চর বাঁচাতে
FUZxxl

উত্তর:


4

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

{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)(n,1-n←2×⍵)↑↑b⍴¨⍕¨b←a,1↓⌽a←⍳⍵}

{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)n(1-n←2×⍵)↑↑⍴∘⍕¨⍨a,1↓⌽a←⍳⍵}( ধন্যবাদ, মরিস জুকা )

এটি একটি ডায়াডিক ফাংশন যা ডান যুক্তি ( ) হিসাবে প্রশস্ততা এবং বাম আর্গুমেন্ট হিসাবে সময়কাল ( )। এমন একটি প্রোগ্রাম যা ব্যবহারকারীর ইনপুট পড়বে একই সংখ্যক অক্ষর গ্রহণ করবে।

মার্টিন বাটনার সিজেমের উত্তর থেকে কিছুটা অনুপ্রেরণা আঁকুন :

{⍉⊃⍪/⍺⍴⊂(⌽⍪⊢)n(1-n←2×⍵)↑↑⍴∘⍕¨⍨a,1↓⌽a←⍳⍵}
                                   a←⍳⍵ ⍝ numbers 1 2 3, call them "a"
                                  ⌽     ⍝ reverse them: 3 2 1
                                1↓      ⍝ drop one: 2 1
                              a,        ⍝ prepend "a": 1 2 3 2 1
                         ⍴∘⍕¨⍨          ⍝ format a[i] and repeat it a[i] times:
                                        ⍝     (,'1') '22' '333' '22' (,'1')
                        ↑               ⍝ mix, i.e. obtain a character matrix:
                                        ⍝    ┌───┐
                                        ⍝    │1  │
                                        ⍝    │22 │
                                        ⍝    │333│
                                        ⍝    │22 │
                                        ⍝    │1  │
                                        ⍝    └───┘
             n(1-n←2×⍵)↑                ⍝ take a 2×⍵ by 1-2×⍵ matrix
                                        ⍝ (negative length extends backwards):
                                        ⍝    ┌─────┐
                                        ⍝    │  1  │
                                        ⍝    │  22 │
                                        ⍝    │  333│
                                        ⍝    │  22 │
                                        ⍝    │  1  │
                                        ⍝    │     │
                                        ⍝    └─────┘
        (⌽⍪⊢)                           ⍝ the reverse of it, vertically joined with it
                                        ⍝    ┌─────┐
                                        ⍝    │  1  │
                                        ⍝    │ 22  │
                                        ⍝    │333  │
                                        ⍝    │ 22  │
                                        ⍝    │  1  │
                                        ⍝    │     │
                                        ⍝    │  1  │
                                        ⍝    │  22 │
                                        ⍝    │  333│
                                        ⍝    │  22 │
                                        ⍝    │  1  │
                                        ⍝    │     │
                                        ⍝    └─────┘
     ⍺⍴⊂                                ⍝ take ⍺ copies
  ⊃⍪/                                   ⍝ join them vertically
 ⍉                                      ⍝ transpose

হাহা, এবং আমি একবারের জন্য যথেষ্ট ব্যবধানে এপিএলকে হারিয়ে খুব খুশি হয়েছিলাম। : ডি
মার্টিন এন্ডার

আপনি না থাকলে আমি চেষ্টা করতাম না :) যাইহোক, দেখে মনে হচ্ছে আপনার উত্তরটি এবং অন্যান্য এপিএল উত্তরগুলিও ভুল আউটপুট তৈরি করছে। নমুনা অনুসারে, ত্রিভুজগুলি কেন্দ্রীয় লাইনে দেখা উচিত।
এনএনজি

ওহ, ভাল ধরা, স্থির!
মার্টিন এন্ডার

1
আপনি এটি আরও 2 দ্বারা গল্ফ করতে পারেন: ব্যাক as আবার লিখতে পারে ⍴∘⍕¨⍨ আমার মনে হয়। দুর্দান্ত উত্তর বিটিডব্লিউ, আমি এটি অনেক পছন্দ করি!
মরিস জুকা

ওটা তো তোমার খুব দয়ালু! আমি ঠিক বুঝতে পেরেছি যে আমিও ছোট (n,1-n←2×⍵)করতে পারি n(1-n←2×⍵)
এনজিএন

4

পাইথন - 135 অক্ষর

A,F=map(int,raw_input().split());R=range
for y in R(-A+1,A):print"".join((" %s"%x)[-x<s*y<1]for s in(1,-1)for x in R(1,A)+R(A,-1,-1))*F

শীর্ষস্থানীয় স্থান সহ এই সংস্করণটি 132 টি অক্ষর

A,F=map(int,raw_input().split());R=range
for y in R(-A+1,A):print"".join((" %s"%x)[-x<s*y<1]for s in(1,-1)for x in R(A)+R(A,0,-1))*F

স্টিডিন থেকে পড়ার প্রয়োজন না থাকলেও ইনপুটটি কমা দ্বারা পৃথক করা হলেও এটি যথেষ্ট সংক্ষিপ্ত হতে পারে

কমা বিচ্ছিন্ন ইনপুট জন্য, প্রথম লাইন হয়ে যায়

A,F=input();R=range


3

জে, 87 টি অক্ষর

প্রোগ্রাম হিসাবে:

b=:]\@(]#~' '~:])(":@:>:@i.@-)
,.~^:(<:Y)(,.|.)@(' ',.~((<:({."1|."1)b),.b),' '$~2<:])X
        Y                                              X

এইভাবে চালায়:

,.~^:(<:2)(,.|.)@(' ',.~((<:({."1|."1)b),.b),' '$~2#<:) 3
  3           3         
 232         232        
12321 12321 12321 12321 
       232         232  
        3           3   
,.~^:(<:4)(,.|.)@(' ',.~((<:({."1|."1)b),.b),' '$~2#<:) 2
 2       2       2       2       2       2       2       2      
121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 
     2       2       2       2       2       2       2       2 

এটি যদি আমাদের ফাংশন এফ হিসাবে প্রয়োজন হয় তবে এটি আরও 5 টি অক্ষর:

3 F 2
  3           3         
 232         232        
12321 12321 12321 12321 
       232         232  
        3           3   

আমি যুক্তি গ্রহণযোগ্য হিসাবে গণ্য কিনা তা নিয়ে আমি সন্দেহজনক।

2

হাস্কেল ( 226 225 222 220 214)

হাসকেলে আমার চেষ্টা:

import List
n!k|n>k=p:n!(k+1)++[p]|0<1=[p]where p=(n-1)?" "++k?show k++(n-k)?" ">>=id
f[n,k]=k?(n!1++(2*n-1)?' ':map reverse(n!1)++[(2*n-1)?' '])>>=id
main=interact$unlines.transpose.f.map read.words
(?)=replicate

দুঃখিত বন্ধুরা, (€)অপটিমাইজড হয়ে গেছে, এটির জন্য তিনটি বাইট লাগে - এর বিপরীতে! যা কেবল প্রতিটি বাইট নেয়।
এখানে একটি "বিটা সংস্করণ" দেওয়া হয়েছে, যা অনুমানটিকে সন্তুষ্ট করে না:

import List

-- Creates a single wave of numbers. k should be equal to 1
-- and is used for internal stuff,
wave n k|n==k=[peek]
        |otherwise = peek:wave n(k+1)++[peek] where
  peek=replicate(n-1)" "++replicate k(show k)++replicate(n-k)" ">>=id

-- Creates a full wave
-- k: number of waves, n: size of waves
fullWave[n,k]=unlines.transpose.concat.replicate k$wave n 1++map reverse(wave n 1)

main=interact$fullWave.map read.words

1
EUR অপারেটর! প্রথমবার এটির মুখোমুখি আমি :)
জেবি

1
আমি ভেবেছিলাম প্রোগ্রামিং ভাষার ক্ষেত্রে € অনেক বেশি বৈষম্যমূলক। এবং যেহেতু আমি একটি অব্যবহৃত বিকল্পের সন্ধান করছিলাম, এটি খুব কার্যকর হয়েছিল।
FUZxxl

4
এটার কাজ কি? এটি কি 1.35 * মার্কিন অপারেটর? :)
gnibbler


1

সিজেম, 45 বাইট

সিজেএম এই চ্যালেঞ্জের চেয়ে অনেক কম বয়সী, সুতরাং এই উত্তরটি সবুজ চেকমার্কের জন্য যোগ্য নয় (যা মেরিনাসের এপিএল উত্তরে আপডেট করা উচিত)। যদিও এটি এখনও একটি মজার ছোট্ট অনুশীলন ছিল।

r~:I2*,{)IS*I@I\-z-_a*+I~)>I(S*+}%_Wf%+r~*zN*

এটি এখানে পরীক্ষা করুন।

অর্ধেক সময় উল্লম্বভাবে উত্পন্ন করার ধারণাটি এই জাতীয় :

  1  
 22  
333  
 22  
  1  

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

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