プログラマーの競争



先日は、Habréのブログの年です。 そして、このビジネスを祝うことにしました! いいえ、まあ、あなたの考えではありません。 もちろんそうですが。 しかし、今はそれについてではありません。



私たちは本当にすべての読者にいくつかの贈り物を贈りたいと思っていますが、私たちは贈り物を1つしか持っていません(しかし良い贈り物です)ので、プログラマのための小さな競争でそれをすることにしました。 コンテストの条件と賞品の説明-カットの下。 タスクはそれほど時間がかからず、誰もが勝つチャンスがあります。



賞品



私たちは賞品を価値あるものにするだけでなく、ユニークで思い出深いものにしたいと考えました。 最後に、あなたは私たちなしでコンピュータや電話に新しいハードウェアを購入しますが、贈り物として数キロバックスのエンターテイメントを手に入れることは忘れられない出来事です。 そのため、6月19日にユーロ2012チャンピオンシップの一環としてキエフで開催されるスウェーデンとフランスの試合のUEFAコーポレートホスピタリティプログラムにVIPチケットを提供します。



チケットに含まれるもの:



スウェーデンとフランスの試合は21.45から始まり、UEFAエンターテインメントプログラムは18.45から始まり、試合終了後も続きます。



タスク



したがって、上記のイベントに関して、「#habrで1年!」というテキストを出力するいくつかのプログラムを作成することにしました。 まあ、ほとんど「Hello world!」です。 私たちはそれらを書きましたが、残念なことに、何かが機能しません。 または、それはそのようには機能しません。 一般に、それらは必要なものを導き出しません。 文字通り1行で修正することで、各プログラムを修正できるように思われます。 おそらくあなたはそれを行うことができますか? そうそう、どの言語で書いたのか-すでに忘れてしまった。 途中で推測する必要があります。 解決された問題ごとに-1ポイント。



タスク1
var howManyYears = 1; howManyYears += "1"; howManyYears -= "1"; alert(howManyYears + " year on #habr!");
      
      







タスク2
 howManyYears = 1 if (howManyYears =! 0) puts "#{howManyYears} year on #habr!" end
      
      







タスク3
 #include <iostream> #include <vector> int main() { std::vector<int> monthes; // we are here from 06/2011 - 12 monthes monthes.push_back(06); monthes.push_back(07); monthes.push_back(08); monthes.push_back(09); monthes.push_back(10); monthes.push_back(11); monthes.push_back(12); monthes.push_back(01); monthes.push_back(02); monthes.push_back(03); monthes.push_back(04); monthes.push_back(05); std::cout << monthes.size() / 12 << " year on #habr!"; return 0; }
      
      







タスク4
 [regex]::replace('1 year on $habr!','$','#')
      
      







タスク5
 #include <stdio.h> int main() { int years = 0; printf("%d year%s on #habr!", ++years, years == 1 ? "" : "s"); http://www.infopulse.com.ua/eng/Career/Vacancies/Software-Development/ return 0; }
      
      







タスク6
 SET X, 0 :start SET A, [string+X] IFE A, 0 SET PC, end BOR A, 0x7000 SET [0x8000+X], A ADD A, 1 SET PC, start :string dat "1 year on #habr!",0 :end SET PC, end
      
      









ボーナスチャレンジ


タスク番号5の参照に気付いたかもしれません(ところで、その存在がこの言語のコードコンパイルを中断しないのはなぜですか?)。 そのため、空席の中で、このリンクを介して自分自身に興味を持ち、コンテスト期間中に削除されたアドレスに履歴書を送信する人は、追加のボーナスポイントを1つ受け取ることができます(メインの決定が発行されたtwitterアカウントを指定することを忘れないでください)。 このコンペティションのタスクが気に入ったら、空席も好きになります(そのようなタスクは毎日そこにあり、さらに興味深いものです)。 そして、我々はそのような問題を解決する人々が好きです。 相互同情のためのそのようなテスト。 そして、競争の1つのボーナスポイント。



競争ルール



回答はインターネット上のどこかに公開する必要があり(pastebinまたはGoogle Docsは問題ありません)、Twitterへのリンクをスローする必要があります。 リンク付きのツイートには、テキスト「 #habr @Infopulse_ukr 」も含める必要があります。 各タスクの答えは、次の形式である必要があります。



 №    №    (   -  )    
      
      







例:

 1 C++ 12 printf("1");  "1"    ,     printf  .
      
      







タスクへの回答は空行で区切る必要があります。 上記の形式で上記の方法で送信された応答のみが受け入れられます。 「最初の行に印刷して終了する」または「印刷してすぐに行に行く」という精神の答えは通らないので、元のコードのエラーは修正する必要がありますが、そのアルゴリズムのロジックは保持されます。 回答を受け取る期限は、投稿の公開日から2日です。 参加のためのHabrのアカウントはオプションです。 賞品は、最大数のポイントを獲得した人に与えられます(複数のポイントがある場合は、最初のもの)。 勝者は6月17日日曜日に発表されます。 賞品は6月18日月曜日に授与されます。



皆さん、頑張ってください。 行こう



All Articles