Aizu Judge 0000 QQ

AizuJudge

C

#include<stdio.h>
int main(){
  int i,j;
  for( i=1; i<=9; i++ ){
    for( j=1; j<=9; j++ ){
      printf( "%dx%d=%d\n", i, j, i*j );
    }
  }
  return 0;
}

C++

#include <iostream>
int main(){
  for(int i=1;i<10;i++){
    for(int j=1;j<10;j++){
      std::cout << i << "x" << j << "=" << i*j << std::endl;
    }
  }
}

C++

#include<cstdio>
int main(){for(int i=9;i<90;i++)printf("%dx%d=%d\n",i/9,i%9+1,i/9*(i%9+1));}

Java

class Main {
  public static void main(String[] args){
    for(int i=1;i<10;i++){
      for(int j=1;j<10;j++){
        System.out.println(String.valueOf(i) + "x" + String.valueOf(j) + "=" + String.valueOf(i*j));
      }
    }
  }
}

Python

for i in range(1,10):
  for j in range(1,10):
    print "%dx%d=%d" % (i,j,i*j)

Python

print "\n".join(["%dx%d=%d" % (i,j,i*j) for i in range(1,10) for j in range(1,10)])

Ruby

for i in 1..9
  for j in 1..9
    puts "#{i}x#{j}=#{i*j}"
  end
end

Ruby

(1..9).each{|i| (1..9).each{|j| puts "#{i}x#{j}=#{i*j}"}}

PHP

<?php
  for($i=1;$i<10;$i++){
    for($j=1;$j<10;$j++){
      print $i."x".$j."=".$i*$j."\n";
    }
  }
?>

PHP

<?php
  foreach(range(1,9) as $i){foreach(range(1,9) as $j){print $i."x".$j."=".$i*$j."\n";}}
?>

JavaScript

for (var i = 1; i <= 9; i++ ){
  for (var j = 1; j<= 9; j++){
    console.log("" + i + "x" + j + "=" + i*j );
  }
}

Pythonに思うこと

Python の map filter をRubyのようにメソッドとして使いたい

class myList(list):
  def puts(self):
    print self
    return self

  def map(self,f):
    return myList(map(f,self))

  def filter(self,f):
    return myList(filter(f,self))

  def join(self,s=" "):
    return s.join(self.map(lambda x:str(x)))    

  def sort(self,f=lambda x:x):
    return myList(sorted(self,key=f))


a = myList(range(1,3+1)).puts()
#[1, 2, 3]

a.map(lambda x:x*2).puts()
#[2, 4, 6]

a.filter(lambda x:x%2==1).puts()
# [1, 3]

a.sort(lambda x:-x).puts()
# [3, 2, 1]

print a.map(lambda x:x+1).join(", ")
#2, 3, 4

Atmega328にArduinoのブートローダを書き込む(8MHz 16MHz)

Atmega328をArduinoとして使うには、

Atmega328にArduino用のブートローダが書き込まれていなければならない。 

 

ブートローダが書き込まれたAtmega328を用意するには2つの方法がある。

安く済ませたいので自分で書きこむことにした。

手順は書き込みたいブートローダによって少し異なる。

(1) 16 MHz 外部クロック使用のブートローダ書き込み

  • Arduino Unoと同じ設定で動作

(2) 8MHz 内部クロック使用のブートローダ書き込み

  •   省電力で動作  部品が少なくなるので小型化しやすい

 

(1) 16 MHz 外部クロックのブートローダ書き込み

使用するもの

 

(2) 8 MHz 内部クロックのブートローダ書き込み

Arduino IDE 1.0.5を用いて検証した

準備

  • Breadboard.zipをダウンロード (ページ中段)
  • Arduino/hardware/Breadboard/boards.txt に配置 (hardwareがなければ作成)
  • ArudinoIDEを起動しATmega328 on a breadboard(8 MHz internal clock) が認識されていることを確認

    f:id:ddpp:20130717160105p:plain

ブートローダ書き込み回路

手元に16MHzのブートローダが書き込まれているマイコンしかなかったので、水晶発振子を使用した回路で8MHzのブートローダを書き込みました。

f:id:ddpp:20130730200402p:plain

結果

ブートローダの書き込みが終わって水晶発振子がなくても動作するようになった

f:id:ddpp:20130719194325p:plain

8MHz 内部クロック 3.3Vで動かしたBlink  

Arudinoから3.3Vを供給している

 

参考

  http://arduino.cc/en/Tutorial/ArduinoToBreadboard