Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<?php
$n=6;
for($i=1;$i<=$n;$i++){
if($i%2)
$arr=range(1,$i);
else
$arr=range($i,1,-1);
echo implode('-',$arr).'<br>';
}
?>
<?php
$n=6;
for($i=1; $i<=$n; $i++){
$arr=($i%2) ? range(1,$i) : range($i,1,-1);
echo implode('-',$arr).'<br>';
}
?>
// 1
$m=6;
for($i=0,$a=array(); $i<=$m; $a[]=++$i)
echo join('-', $i%2 ? $a : array_reverse($a) )."<br />";
// 2 - govno
$is_reverse = false;
for($i=1; $i<=6; ++$i) {
for($is_reverse?$j=$i:$j=1; $is_reverse?$j>=1:$j<=$i; $is_reverse?--$j:++$j) {
echo (($is_reverse)?($j.($j>1?'-':'')):($j.($j<$i?'-':'')));
}
$is_reverse = (($is_reverse) ? false : true);
if (in_array($is_reverse, array(true,false))) {
echo '<br />';
}
}
#include <iostream>
int main(){
int n=6;
for (int i=0;i++<=n;std::cout<<std::endl)
for (int j=i;--j>0;i%2==0?std::cout<<i-j:std::cout<<j);
}
A return statement in main has the effect of leaving the main function (destroying any objects with automatic storage duration) and calling std::exit with the return value as the argument. If control reaches the end of main without encountering a return statement, the effect is that of executing «return 0;»Т.е. если функция main у Вас ничего не возвращает, то автоматически выполняется return 0;
def foo n
numbers = [1]
while numbers.last <= n
puts (numbers.last.even? ? numbers.reverse : numbers).join '-'
numbers << numbers.last.next
end
end
foo 6
def shit_code n
(1..n).inject([]) do |line, element|
puts line.reverse!.tap{ |l|
l.send(l.size.even? ? :push : :unshift, element)
}.join("-")
line
end
end
shit_code 6
$n = 6;
for($i = 1; $i <= $n; print(join('-', $i % 2 ? range(1, $i++) : range($i++, 1)) . "\n"));$n = 6;
for($i = 1; $i <= $n; $i++) {
$nums = $i % 2 ? range(1, $i) : range($i, 1);
print(join('-', $nums) . "\n");
}$i++, если его можно запихнуть в одно ($i++ % 2)?$n = 6;
for($i = 0; $i < $n; print(join('-', ++$i % 2 ? range(1, $i) : range($i, 1)) . "\n"));$n = 6;
for($i = 0; $i < $n; print(join('-', ++$i % 2 ? range(1, $i) : range($i, 1)) . "\n"));
$n = 6;
for($i = 1; $i <= $n; $i++) {
$array = $i % 2 ? range(1, $i) : range($i, 1);
echo join('-', $array), PHP_EOL;
}
echo '1<br>';
$x = 2;
$d = -1;
$i = 2;
while ($i < 10){
echo $x;
$x += $d;
if ($x == 1) {echo '-' . $x . '<br>'; $d = -$d; $i++;}
if ($x == $i) {echo '-' . $x++ . '<br/>'; $d = -$d; $i++;}
if ($x != 1 && $x != $i) echo '-';
}
use 5.012;
my $num = $ARGV[0] // 6;
my @num_arr = 1..$num;
say join '-',$num % 2 ? @num_arr : reverse @num_arr;
my $total = 6;
for $num ( 1 .. $total ) {
say join( '-', $num % 2 ? 1..$num : reverse 1..$num );
}
use 5.012;
sub smart_join {
my $num = shift;
my @num_arr = 1..$num;
join '-',$num % 2 ? @num_arr : reverse @num_arr;
}
my $num_in = $ARGV[0] // 6;
say smart_join( $_ ) for 1..$num_in;$n = shift @ARGV;
if ($n == 0) { $n = 6 };
for ($i = 1; $i<$n+1; $i++) {
# дополнительная оптимизация для скорости
if (length $current > 0) { $current = $current . '-'; }
$current = $current . $i;
$output = "";
$direction = (($i/2) == int ($i/2));
if ($direction) {
@chars = split //,$current;
for ($k = $#chars ; $k > -1; $k--) {
$output = $output . $chars[$k];
}
}
if (not $direction) {
$output = $current;
}
print "$output\n";
}def str_reversed(s):
tmp = list(s)
tmp.reverse()
return "".join(tmp)
def get_line(n):
if n == 1:
return "1"
elif n % 2 == 0:
return str(n)+"-"+str_reversed(get_line(n-1))
else:
return str_reversed(str(n)+"-"+get_line(n-1))
print "\n".join(map(get_line, range(1, 7)))
#!/bin/bash
i=1;m=7;while [ $i -lt $m ];do seq 1 $(($i%$max))|tr '\n' ' '|sed 's/ /-/g;s/-$//';((i++));echo;done|while read line; do [ $((${line/*-/}%2)) -eq 1 ]&&echo $line||echo $line|rev;done// Инициализация
$n=6;
// Вывод
echo $n;
for ($i = -1*$n; $i < 0; $i++)
echo $i;
func($n)
{
if($n==1)
return "1";
else
{
$str = func($n-1);
$str2 = '-'.$str;
$str3 = $n . $str2;
return $str3;
}
}
echo func(6);import Data.List
main = mapM_ (putStrLn . foo) [1..6]
foo n = concat $ intersperse "-" $ (if odd n then id else reverse) $ take n $ map show [1..]
String s = "1";
for(int i = 2; i <= 6; i++)
System.out.println(s = i + "-" + s);
<?php
define('LENGTH',6);
define('nl',"\n");
$right='1';
$left='1';
echo '1'.nl; // <== это он
for($i=2;$i<=LENGTH;$i++)
{
$left=$i.'-'.$left;
$right=$right.'-'.$i;
echo ($i%2?$right:$left).nl;
}
?>
print "\n".join(['-'.join([str(i) for i in n%2 and range(1, n+1) or range(n, 0, -1)]) for n in range(1, int(raw_input()) + 1)])#нормальный вариант
def gen(n):
for line in xrange(1, n+1):
res = [item for item in xrange(1, line+1)]
res = sorted(res, reverse= not line%2)
print("-".join((str(i) for i in res)))
gen(6)
#однострочник
def gen(n):
return "\n".join(
("-".join(
sorted((str(x) for x in xrange(1, b+1)), reverse=(b+1)%2))
for b in xrange(1, n+1)
)
)
print(gen(6))
lambda x: "\n".join('-'.join(map(str,range(1, n+1))[::bool(n%2) or -1]) for n in range(1, x + 1))#нормальный вариант
def gen(n):
for line in xrange(1, n+1):
res = [str(item) for item in xrange(1, line+1)]
res = sorted(res, reverse= not line%2)
print("-".join(res))
gen(6)
<?php
$sign = true;
for($i=1; $i <=6; $i++) {
echo implode('-', $sign ? range(1, $i) : range($i, 1)) . "\n";
$sign = !$sign;
}
[ пропущена после восьмого символа (перед вторым >)++++++++++[>+++++>+<<-]>[>>+>+
>+>+>+>+>+<<<<<<<<-]>>----->->
>+>++>+++>++++<<<<<.<<.>>>.<<.
>.<<.>>.<.>>.<<.>>>.<<<<.>>>>>
.<<<<.>>>.<<<.>>.<<.>.<<.>>.<.
>>.<<.>>>.<<<.>>>>.<<<<.>>>>>.
<<<<<<.>>>>>>>.<<<<<<.>>>>>.<<
<<<.>>>>.<<<<.>>>.<<<.>>.<<.>.
<<.+++++[>+>++>++++++++
++>+++++++++<<<<-]>+
>>-<<[>>.>>[<.<+.>>-
>+<]<<<.>+.>>>+[<<.<
-.>>>-<+>]<+<<<.<--]+++++[>+>++>+++[>+++
>+++<<-]<<<-]>>>>+++
+<<<+[>>>.<[>>.>+<<+
.<-]<.>>+.>>+[<.<-.<
+>>>-]<<<+<.<--]
Boolean b = new Boolean( is_admin );
if( b.toString().length() == 4 ) {
}
<?
$max = 6;
$arr = array();
for ($i = 1; $i <= $max; $i++)
{
$arr[] = $i;
if (ceil($i / 2) == $i / 2)
rsort($arr);
else
sort($arr);
print implode("-", $arr) . "\n";
}
?>
public class Gavnokod1
{
final static int N = 6;
public static void main( String[] args ) {
for( int row=1; row<=N; row++ ) {
if( row%2 == 1 ) {
for( int pos=1; pos<=row; pos++ ) {
System.out.print(pos);
if(pos!=row)System.out.print("-");
}
}
else
{
for( int pos=row; pos>=1; pos-- ) {
System.out.print(pos);
if(pos!=1)System.out.print("-");
}
}
System.out.println();
}
}
}public class Gavnokod2 {
final static int N = 6;
public static void main( String[] args ) {
for (int row=1;row<=N;row++)
for (int pos=row%2==1?1:row;row%2==1?pos<=row:pos>=1;pos+=row%2==1?1:-1)
System.out.print(pos+(pos!=(row%2==1?row:1)?"-":"\n"));
}
}Решение как решение, но всё равно гавнокод, потому что сложночитаемый, хотел сократить кол-во операторов и строк./**
* Обработчик печати.
* ... тут куча описания ...
*/
interface PrintListener {
/**
* Печать объекта последовательности.
* @param num номер объекта в последовательности.
* @return true, если объект не последний, false - в обратном случае.
*/
boolean print( int num );
}
/**
* Реализация печати последовательности объектов.
*/
class Printer {
private PrintListener printListener;
public Printer( PrintListener printListener ) {
this.printListener = printListener;
}
public void print() {
int num = 1;
while ( printListener.print( num++ ) );
}
}
public class Gavnokod4 {
final static int N = 6;
public static void main( String[] args ) {
// запускаем печаталку строк
new Printer( new PrintListener() {
@Override
public boolean print( final int row )
{
// запускаем печаталку столбцов в каждой строке
new Printer( new PrintListener() {
@Override
public boolean print( final int col )
{
System.out.print( row%2==1 ? col : row-col+1 );
System.out.print( col < row ? "-" : "\n" );
// печатаем пока столбцов меньше строк
// (у нас же половинка матрицы)
return col<row;
}
}).print();
// печатаем пока не напечатано нужное кол-во строк
return row<N;
}
}).print();
}
}puts "1\n2-1\n1-2-3\n4-3-2-1\n1-2-3-4-5\n6-5-4-3-2-1\n"set x [split 1/2-1/1-2-3/4-3-2-1/1-2-3-4-5/6-5-4-3-2-1 "/"];
foreach j $x{ puts "$j\n";}<?php
$Tsyfry=array(
'error',
'1',
'1-2',
'1-2-3',
'1-2-3-4',
'1-2-3-4-5',
'1-2-3-4-5-6',
);
$Naoborot=false;
for($i=0;$i<=6;$i++) {
if (!$i) continue;
if ($i==1) $Stroka=$Tsyfry[1];
if ($i==2) $Stroka=$Tsyfry[2];
if ($i==3) $Stroka=$Tsyfry[3];
if ($i==4) $Stroka=$Tsyfry[4];
if ($i==5) $Stroka=$Tsyfry[5];
if ($i==6) $Stroka=$Tsyfry[6];
if ($i==7) $Stroka=$Tsyfry[7];
if ($Naoborot==false) {
echo $Stroka;
echo "\n";
}
if ($Naoborot==true) {
$Stroka_array=preg_split('//',$Stroka);
$Stroka_array=array_reverse($Stroka_array);
$Stroka=implode($Stroka_array);
echo $Stroka;
echo "\n";
}
if ($Naoborot==false) $Naoborot=true;
else $Naoborot=false;
}
?>
$a = array();
for($i=1;$i<7;$i++)
{
$a[]=$i;
echo implode('-', $i%2 ? $a : array_reverse($a)), '
';
}puts (1..6).map{|n| (1..n).to_a.reverse.join("-")}.join("\n")struct ds
{
unsigned char string[15];
unsigned char symbols;
unsigned char string number;
} ds_one {{'1', '\r', '\n'}, 3, 1} \
ds_two {{'2', '-', '1' '\r', '\n'}, 3, 1} \
.......
ds * xs = {&ds_one, &ds_two, ....};
for (unsigned char i = 0, i < sizeof(xs), i++)
{
for (unsigned char j = 0, j<xs[i]->symbols, j++)
{
putch(xs[i]->string[j]);
}
}
def f(n):
print '-'.join(map(str, xrange(1, n+1))[::-1 if (n+1)%2 else 1])
<?php echo '<pre>'?>
1
2-1
1-2-3
4-3-2-1
1-2-3-4-5
6-5-4-3-2-1
<?php echo '</pre>'?>
#!/usr/bin/perl
...
my @line = ( 1 );
print( @line, "\n" );
for( my $line_number = 2; $line_number <= 6; ++$line_number ) {
@line = ( @line, '-', $line_number );
print( $line_number % 2 ? @line : reverse( @line ), "\n");
}
my @line = ( 1 );
print( @line, "\n" );
for( my $line_number = 2; $line_number <= 6; ++$line_number ) {
@line = ( @line, '-', $line_number );
print( $line_number % 2 ? @line : reverse( @line ), "\n");
}
def get_arr(n):
out = []
for i in range(1,n+1):
out.append(i)
return out
def print_arr(arr):
out = ""
for i in arr:
out += "%s-" % i
out = out.rstrip('-')
print out
def print_result(n):
to_be_reversed = False
for i in range(1,n+1):
arr = get_arr(i)
if to_be_reversed:
arr.reverse()
print_arr(arr)
to_be_reversed = not to_be_reversed
print_result(6)
static void Main(string[] args)
{
int n = 20;
bool inv = false;
StringBuilder sb = new StringBuilder();
for (int i = 1; i < n + 1; i++)
{
sb.Clear();
if (!inv)
{
for (int z = 1; z < i + 1; z++)
sb.Append(z.ToString() + "-");
inv = true;
}
else
{
for (int z = i; z > 0; z--)
sb.Append(z.ToString() + "-");
inv = false;
}
Console.WriteLine(sb.ToString());
}
Console.ReadKey();
} class Program
{
static void Main(string[] args)
{
int n = 20;
//bool inv = false;
StringBuilder sb = new StringBuilder();
for (int i = 1; i < n + 1; i++)
{
sb.Clear();
if ((i%2)>0)
{
for (int z = 1; z < i + 1; z++)
sb.Append(z.ToString() + "-");
}
else
{
for (int z = i; z > 0; z--)
sb.Append(z.ToString() + "-");
}
Console.WriteLine(sb.ToString());
}
Console.ReadKey();
}
}
* This source code was highlighted with Source Code Highlighter.
- /// <summary>
- /// Prints <paramref name="lines"/> number of lines in the
- /// following format:
- /// <example>
- /// 1
- /// 2-1
- /// 1-2-3
- /// 4-3-2-1
- /// </example>
- ///
- /// Each line represents a sequence which consists of <c>n</c>
- /// numbers, <c>n</c> being the 1-based sequence number of the
- /// line. In every second line the order of numbers is reverted.
- /// </summary>
- /// <param name="lines">The number of lines to display.</param>
- public void PrintSequence(int lines)
- {
- //
- // On each iteration, this list stores the sequence of
- // numbers corresponding to the current line.
- //
- List<int> currentNumbers = new List<int>();
-
- for(int n = 1; n <= lines; n++)
- {
- currentNumbers.Add(n + 1);
-
- //
- // This temporary array will contain the actual sequence
- // of numbers to display.
- //
- int[] tempArray = currentNumbers.ToArray();
-
- //
- // If the line number is even, reverse the order.
- //
- if(n % 2 == 0)
- {
- Array.Reverse(tempArray);
- }
-
- //
- // Concatenate the sequence into resulting string.
- //
- string outputLine =
- String.Join(
- @"-",
- Array.ConvertAll(tempArray, v => v.ToString()));
-
- //
- // Finally, print the line to screen.
- //
- Console.WriteLine(outputLine);
- }
- }
* This source code was highlighted with Source Code Highlighter. class Program
{
static int Main(string[] args)
{
// at this point the program really should be outputting text to the
// console. we must take into account 78 character maximum line length
// and ensure that we use Environment.NewLine for line endings.
// ideally should provide multi-region language support and UTF-8 /
// UTF-16 encoding.
Console.WriteLine("Hello World");
}
}#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain( int, _TCHAR*[] )
{
int n = 0;
cout << "n? ";
cin >> n;
int k = n+(n*n-n)/2;
int *m = (int*)new int[k];
memset( m, 0, k*4 );
for( int i = 0; i < n; ++i ) for( int j = 1; j <= n; ++j ) for( k = 0; ( k & 0x80000000 ? -k : k ) < j; k -= (j/2*2==j)*2-1 )
{
int *p(&k[m]+(j*j-j)/2+(j/2*2==j)*(j-1));
if( !*p ){ *p = -1*(i+1)*((k!=(j/2*2==j)*(-j+1))*2-1); break; }
}
for( int i = 1; i <= n; ++i ) for( int j = 0; j < i; ++j )
{
cout << *(m+(i*i-i)/2+j);
if( j + 1 == i ) cout << endl;
}
delete [] (int*)m;
return 0;
}
// Хороший код
for (var i = 2, a = ['1', '1']; i <= 6 + 1; i++) {
console.log(a[i & 1]);
a[1] = i + '-' + a[1];
a[0] = a[0] + '-' + i;
}
// Хороший код 2
for (var i = 1, a = [[], []]; i <= 6; i++) {
a[0].unshift(i);
a[1].push(i);
console.log(a[i & 1].join('-'));
}
// Г код
// Форматирование оставил
function S_Prnt_Str (options) {
if (options.stroka.length >= 0) {
if (typeof options.stroka == typeof 'string') {
if (console) {
if ('console' in window) {
if ('log' in window.console) {
try {
console.log(options.stroka);
} catch (owibka) {
throw owibka;
}
} else {
throw new Error('Net funccii log');
}
} else {
throw new Error('Konsoli net v window');
}
} else {
throw new Error('Konsoli net');
}
} else {
throw new Error('Eto ne stroka');
}
} else {
throw new Error('U stroki net length');
}
}
cho = true;
try {
for (i = 1; i <= 6; i++) {
if (cho == true) {
try {
stroka = '';
for (j = 1; j <= i; j++) {
if (stroka == '') {
stroka = stroka + j;
} else {
stroka = stroka + '-' + j;
}
}
S_Prnt_Str({stroka: stroka});
cho = false;
} catch (owibka) {
if (owibka instanceof Error) {
throw new Error(owibka.message);
} else {
throw new Error('Owibka ne owibka');
}
}
} else if (cho == false) {
try {
stroka = '';
for (j = 1; j <= i; j++) {
if (stroka == '') {
stroka = stroka + j;
} else {
stroka = j + '-' + stroka;
}
}
S_Prnt_Str({stroka: stroka});
cho = true;
} catch (owibka) {
if (owibka instanceof Error) {
throw new Error(owibka.message);
} else {
throw new Error('Owibka ne owibka');
}
}
} else {
throw new Error('Owibka!!!');
}
}
} catch (owibka) {
if (owibka instanceof Error) {
throw new Error(owibka.message);
} else {
throw new Error('Owibka ne owibka');
}
}int maxrow = 6;
for (int row = 1; row<=maxrow; row++) { //row iterator
for (int num = 1; num<=row; num++) { // 1..row number
row&1 ? cout << num : cout << row-num+1; // if parity 1..n else n..1
if (row!=num) cout << "-";
}
cout << "\n";
}
* This source code was highlighted with Source Code Highlighter.print join("-", $_%2 ? (1..$_) : reverse(1..$_))."\n" for (1..6)for (1..6) {if ($_ == 1) {print "$_\n";next};if ($_%2 > 0){for ($n=$_;$n>0;$n--) {print $n; print $n==1?"":"-"}} else {for $m(1..$_){print "$m";print $m==$_?"":"-"}}print "\n"} int c = 8;
bool reverse = false;
QList<int> numbers;
for(int i= 1; i <= c; i++) { numbers.append (i);}
for(int i= 1; i <= c; i++){
QList<int> list = numbers.mid (0,i);
if (reverse){
QListIterator<int> i(list);
while (i.hasNext()) { list.prepend (i.next()); }
list = list.mid (0, list.count ()/2);
}
qDebug() << list;
reverse = !reverse;
}
* This source code was highlighted with Source Code Highlighter.
(1)
(2, 1)
(1, 2, 3)
(4, 3, 2, 1)
(1, 2, 3, 4, 5)
(6, 5, 4, 3, 2, 1)
(1, 2, 3, 4, 5, 6, 7)
(8, 7, 6, 5, 4, 3, 2, 1)
* This source code was highlighted with Source Code Highlighter.
print (("%s\n"*6) % tuple([("%s"*j % tuple([str(-i-1) for i in j%2 and range(j) or range(j-1,-1,-1)]))
[int(bool((',',))):] for j in range(1,7)]))[:int()-1]
- int n = 1;
- int m = 1;
- int n_max = 6;
-
- for ( n = 1; n <= n_max; n++ )
- {
- if ( ( n % 2 ) == 0 )
- {
- m = n;
- goto even;
- }
- else
- {
- m = n;
- goto odd;
- }
- back:;
- }
-
- even:
- for ( int i = m; i >= 1; i-- )
- {
- char buffer[1024];
- printf( "%i", i );
- if ( i > 1 ) printf( "-" );
- }
- printf( "\n" );
- if ( m >= n_max ) goto exit_label; else goto back;
- odd:
- for ( int i = 1; i <= m; i++ )
- {
- char buffer[1024];
- printf( "%i", i );
- if ( i < m ) printf( "-" );
- }
- printf( "\n" );
- if ( m >= n_max ) goto exit_label; else goto back;
-
- exit_label:
-
int _tmain(int argc, _TCHAR* argv[])
{
int delta = 1; // направление счета
int maxValue = 1; // максимальное значение счета
int rows = 6; // количество выводимых строк
int value = 1; // текущее значение
for(int i = 0; i < rows; i++)
{
for(;(delta > 0) ? (value <= maxValue) : (value > 0); value += delta)
{
printf("%d-", value);
}
maxValue++;
if(value == 0)
{
value = 1;
}
delta = -delta;
printf("\b \r\n");
}
return 0;
}
* This source code was highlighted with Source Code Highlighter.var arr = new List<int> { 1, 2, 3, 4, 5, 6 };
for (var i = 1; i < arr.Count + 1; i++)
{
foreach (var j in (i % 2 != 0) ? arr.Select(n => n.ToString()).Take(i).Aggregate((a, b) =>
a + "-" + b) : arr.Select(n => n.ToString()).Take(i).Reverse().Aggregate((a, b) =>
a + "-" + b))
{
Console.Write(j);
}
Console.WriteLine();
}
* This source code was highlighted with Source Code Highlighter.package ru.nullpointer.shitty;
import java.io.PrintStream;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
int n = 6;
IteratorStrategy<Integer> pis = new PrintIteratorStrategy(System.out);
IteratorFactory sif = IteratorFactory.getInstance();
IteratorStrategy<Integer> fis = new ForeachStartegy(sif, pis);
Iterator<Integer> it = new ForwardIterator(n);
fis.execute(it);
}
static public class ForwardIterator implements Iterator<Integer> {
private int capacity;
private int counter;
public ForwardIterator(int capacity) {
if (capacity < 1) {
throw new IllegalArgumentException("Capacity must be positive");
}
this.capacity = capacity;
this.counter = 1;
}
@Override
public boolean hasNext() {
return counter <= capacity;
}
@Override
public Integer next() {
return counter++;
}
@Override
public void remove() {
throw new UnsupportedOperationException("Not supported yet.");
}
}
static public class BackwardIterator implements Iterator<Integer> {
private int counter;
public BackwardIterator(int capacity) {
if (capacity < 1) {
throw new IllegalArgumentException("Capacity must be positive");
}
this.counter = capacity;
}
@Override
public boolean hasNext() {
return counter > 0;
}
@Override
public Integer next() {
return counter--;
}
@Override
public void remove() {
throw new UnsupportedOperationException("Not supported yet.");
}
}
static public interface IteratorStrategy<E> {
void execute(Iterator<E> it);
}
static public class PrintIteratorStrategy implements IteratorStrategy<Integer> {
private PrintStream ps;
public PrintIteratorStrategy(PrintStream ps) {
if (ps == null) {
throw new IllegalArgumentException("Print stream can't be null");
}
this.ps = ps;
}
@Override
public void execute(Iterator<Integer> it) {
while (it.hasNext()) {
ps.print(it.next());
if (it.hasNext()) {
ps.print('-');
}
}
ps.println();
}
}
static public class ForeachStartegy implements IteratorStrategy<Integer> {
private IteratorFactory sif;
private IteratorStrategy<Integer> is;
public ForeachStartegy(IteratorFactory sif, IteratorStrategy<Integer> is) {
if (sif == null) {
throw new IllegalArgumentException("Iterator factory can't be null");
}
if (is == null) {
throw new IllegalArgumentException("Iterator strategy can't be null");
}
this.sif = sif;
this.is = is;
}
@Override
public void execute(Iterator<Integer> it) {
while (it.hasNext()) {
Integer capacity = it.next();
is.execute(sif.getIterator(capacity));
}
}
}
static public class IteratorFactory {
private static IteratorFactory instance = null;
private IteratorFactory() {
}
public static IteratorFactory getInstance() {
if (instance == null) {
instance = new IteratorFactory();
}
return instance;
}
public Iterator<Integer> getIterator(int capacity) {
if (capacity % 2 == 0) {
return new BackwardIterator(capacity);
} else {
return new ForwardIterator(capacity);
}
}
}
}
package ru.nullpointer.nonshitty;
public class Main {
public static void main(String[] args) {
int n = 6;
for (int i = 1; i <= n; i++) {
if (i % 2 == 0) {
for (int j = i; j > 1; j--) {
System.out.print(j);
System.out.print('-');
}
System.out.print(1);
} else {
for (int j = 1; j < i; j++) {
System.out.print(j);
System.out.print('-');
}
System.out.print(i);
}
System.out.println();
}
}
}
package ru.nullpointer.shitty2;
public class Main {
public static void main(String[] args) {
int n = 6;
int total = (1 + n) * n / 2;
boolean forward = true;
int width = 1;
for (int i = 1; i <= total; i++) {
int index = (1 + width) * width / 2;
int value = forward ? width + i - index : index - i + 1;
System.out.print(value);
if (i == index) {
width++;
forward = !forward;
System.out.println();
} else {
System.out.print('-');
}
}
}
}
$n = 6;
$odd = '';
$even = '';
for ($i = 1; $i < $n+1; $i++) {
$odd = "$odd-$i";
$even = "$i-$even";
if (is_float($i / 2))
echo substr($odd, 1, $i*2-1)."\n";
else
echo substr($even, 0, $i*2-1)."\n";
}
<?php
$max = 6;
while (@count($r) < $max) {
@$r[] = count($r) + 1;
echo implode('-', count($r) % 2 ? $r : array_reverse($r)) . PHP_EOL;
}for (var i = 1, a = []; i < 8; i += 1) {
i % 2 ? ( document.write(a.reverse().join('-') + '<br>\) , a.reverse()) : document.write(a.join('-') + '<br>');
a.push(i);
}for (int i = 1; i <= MAX; i++) Console.WriteLine(string.Join<int>(@"-", (i % 2 == 0) ? Enumerable.Range(1, i).Reverse() : Enumerable.Range(1, i)));<?
define(N,6);
ob_start();
$s='';
for ($i=0; $i<N; $i++) {
for ($j=$i+1; $j>0; $j--) {
echo $s.$j.'-';
}
echo "\n";
}
$s=ob_get_contents();
ob_clean();
echo str_replace("-\n","\n",$s);<?
define(N,6);
ob_start();
for ($i=0; $i<N; $i++) {
for ($j=$i+1; $j>0; $j--) {
if (($i/2==round($i/2))==false) {
echo $j.'-';
} else {
echo -$j+2+$i.'-';
}
}
echo "\n";
}
$s=ob_get_contents();
ob_clean();
echo str_replace("-\n","\n",$s);
#include <stdio.h>
int main(int argc, char** argv) {
int max = atoi(argv[1]);
int k;
int i;
for(k = 1; k <= max;k++){
if(k % 2 == 1){
for(i = 1; i < k;i++){
printf("%d-", i);
}
printf("%d\n", k);
}else{
for(i = k; i > 1;i--){
printf("%d-", i);
}
printf("1\n");
}
}
return 0;
}
[(lambda l:print(*((l)if(i%2)else(list(reversed(l)))),sep='-'))(range(1,i+1))for(i)in(range(1,7))]get a
ldi b 0x2d
ldi d 0x1
ldi h 0x1e
dec a h
main_loop:
inc c
tst c a
jc exit
mov e c
and e d
tst e z
jc 4etnoe
jmp ne4etnoe
jmp main_loop
exit:
halt
4etnoe:
mov g c
inc g
ldi f 0
4etnoe_loop:
inc f
mov k f
add k h
put k
tst f g
jnc 4etnoe_loop
jmp main_loop
ne4etnoe
mov g c
ne4etnoe_loop:
mov k g
add k h
put k
dec g
tst g z
jnc ne4etnoe_loop
jmp main_loop#include #define using использовать
#define namespace стиль
#define std стандарт
#define ; расстрелять
#define int цельное
#define cin слушать
#define туда >>
#define сюда <<
#define плюсануть ++
#define минусануть --
#define сделать for
#define что (
#define ага )
#define прировнять =
#define одын 1
#define два 2
#define плюс +
#define минус -
#define процентъ %
#define равно ==
#define чаво if
#define а_если else
#define меньше_равно <=
#define меньше <
#define больше >
#define не_равно !=
#define молвитъ cout
#define { начнемс
#define } готово
#define 0 ноль
#define return фух
#define main тут_и_начнем
использовать стиль стандарт расстрелять
цельное тут_и_начнем что ага
начнемс
цельное н расстрелять
слушать туда н расстрелять
н плюсануть расстрелять
сделать что цельное И прировнять одын расстрелять И меньше_равно н расстрелять И плюсануть ага
начнемс
чаво что И процентъ два равно ноль ага
начнемс
сделать чтоцельное Ы прировнять одын расстрелять Ы меньше И расстрелять Ы плюсануть ага
начнемс
молвитъ сюда Ы расстрелять
чаво что И два Ы плюс одын ага начнемс молвитъ сюда "минус" расстрелять готово
готово
молвитъ сюда "\n" расстрелять
готово а_если
начнемс
сделать что цельное Ы прировнять И расстрелять Ы больше одын расстрелять Ы минусануть ага
начнемс
молвитъ сюда Ы минус одын расстрелять
чаво что Ы не_равно два ага начнемс молвитъ сюда "минус" расстрелять готово
готово
молвитъ сюда "\n" расстрелять
готово
готово
фух ноль расстрелять
готово
;нечитабельный вариант
CL-USER> (defun gen (x) (loop for i from 1 below (+ x 1) do (format t "~{~a~^-~}~%" (if (= (rem i 2) 0) (reverse (loop for b from 1 below (+ i 1) append (list b))) (loop for b from 1 below (+ i 1) append (list b))))))
;читабельный вариант
CL-USER> (defun gen (x)
(loop for i from 1 below (+ x 1) do
(format t "~{~a~^-~}~%" (if (= (rem i 2) 0)
(reverse (loop for b from 1 below (+ i 1) append (list b)))
(loop for b from 1 below (+ i 1) append (list b))))))
GEN
CL-USER> (gen 6)
1
2-1
1-2-3
4-3-2-1
1-2-3-4-5
6-5-4-3-2-1
NIL
(defun gen (x)
(loop for i from 1 below (+ x 1) do
(format t "~{~a~^-~}~%"
(if (evenp i)
(loop for b from i downto 1 collect b)
(loop for b from 1 to i collect b)))))
const n=100;
var a: array [1..n] of string;
i: byte;
begin
writeln ('Enter following data:');
writeln ('1');
writeln ('2-1');
writeln ('1-2-3');
writeln ('4-3-2-1');
writeln ('1-2-3-4-5');
writeln ('6-5-4-3-2-1');
writeln ('Until n');
for i:=1 to n do
readln (a[i]);
for i:=1 to n do
writeln (a[i]);
end.int[] array = { 1, 2, 3, 4, 5, 6 };
foreach (int i in array)
Console.WriteLine(array.Take(i).OrderBy(x => i % 2 == 0 ? -x : x).Select(x => x.ToString()).Aggregate((x, y) => x + "-" + y));for i in range(7): print '-'.join(map(str, range(1,i+1)))[::i%2*2-1]<script>
onload = function(){
document.body.innerHTML += (function(i){
var b = function(j){
return j ==1 ? 1
: (i %2 ? b(j -1) : j) +'-'+ (i %2 ? j : b(j -1));
}
return i ==1 ? 1 : arguments.callee(i -1) +'<br/>'+ b(i);
})(6)
}
</script><script>
onload = function(){
document.body.innerHTML += (function(i){
return i ==1 ? 1 : arguments.callee(i -1) +'<br/>'
+ (function(j){
return j ==1 ? 1
: (i %2 ? arguments.callee(j -1) : j)
+'-'+ (i %2 ? j : arguments.callee(j -1));
})(i);
})(6)
}
</script>var i:int,j:int;
var _len:int = 6;
var _arr:Array;
for (i = 1; i <= _len; i++) {
_arr = [];
for (j = 0; j < i; j++)
_arr[j] = j + 1;
trace(i % 2 ? _arr.join('-') : _arr.reverse().join('-'));
}$n = 6;
$array = array(($i = 2) - 1);
do
echo implode('-', $array = array_reverse($array)) . PHP_EOL;
while (call_user_func($i % 2 ? 'array_unshift' : 'array_push', &$array, $i) && $n >= $i++);
print_num(1) -> io:format("1\r\n");
print_num(NUM) when is_number(NUM),
NUM < 0 -> "error";
print_num(NUM) when is_number(NUM),
NUM rem 2 == 0
-> print_num(NUM-1),io:format(print_even(NUM) ++ "\r\n");
print_num(NUM) when is_number(NUM)
-> print_num(NUM-1),io:format(print_odd(NUM) ++ "\r\n").
print_even(1) -> "1";
print_even(NUM) ->
erlang:integer_to_list(NUM) ++ " - " ++ print_even(NUM-1).
print_odd(1) -> "1";
print_odd(NUM) ->
print_odd(NUM-1) ++ " - " ++ erlang:integer_to_list(NUM).
<style type="text/css">
p:nth-child(odd)
{
text-align: left;
direction: rtl;
unicode-bidi: bidi-override;
}
</style>
<script type="text/javascript">
var text = "1";
for(var i=1; i<=6; i++)
{
document.write("<p>"+text+"</p>");
text+=" - "+(i+1)
}
</script>
<?$n=6;for($i=1;$i<=$n;$i++){$s='';for($j=1;$j<=$i;$j++){$s.=$j;
if($j!=$i){$s.="-";}}if($j%2){$r='';$z=strlen($s);for($k=$z-1;$k>=0;$k--)
$r.=$s[$k];}else$r=$s;echo($r.'
');}?>1
2-1
1-2-3
4-3-2-1
1-2-3-4-5
6-5-4-3-2-1 public class PrintSequenceClass extends Sprite {
private static const FROM_NUMBER:int = 1;
private var _toNumber:int;
public function printSequence(toNumber:int):void {
trace(createSequenceString(toNumber));
}
public function createSequenceString(toNumber:int):String {
_toNumber = toNumber;
if (_toNumber % 2) {
return createForwardSequence();
} else {
return createBackwardSequence();
}
}
private function createBackwardSequence():String {
var result:String = String(FROM_NUMBER);
for (var i:int = FROM_NUMBER + 1; i <= _toNumber; i++) {
result = result + "-" + String(i);
}
return result;
}
private function createForwardSequence():String {
var result:String = String(FROM_NUMBER);
for (var i:int = FROM_NUMBER + 1; i <= _toNumber; i++) {
result = String(i) + "-" + result;
}
return result;
}
}
Enumerable.Range(1, 6)
.Select(i => new { forward = i % 2 == 1, nums = Enumerable.Range(1, i).Select(k => k.ToString()) })
.Select(a => a.nums.Aggregate((n, s) => a.forward ? n + " - " + s : s + " - " + n))
.ToList().ForEach(Console.WriteLine);
print '\n'.join(['-'.join(map(str, range(1, n)) if not n % 2 else map(str, reversed(range(1, n)))) for n in range(2, 10)])
Говнокод: врага надо знать в лицо