BQP

Project_Euler

をやっています。
主にC言語でやっていきますが、時々schemeだったり、common lisp だったりするかも。
そして、非常に大学の初年度のプログラミング演習の匂いのするコードです。
基本的にCの反復練習のためにやっています。


問題1は、
"1000より小さいの3と5の倍数をすべて足しあわせよ"

/*Project Euler:problem1*/
#include<stdio.h>

int main(){
  
  int product, i;
  product = 0;
  for(i=0; i< 1000; i++){
    if(i % 5 ==0 || i % 3 == 0) product += i;
  }
  printf("%d", product);
  return 0;
}

問題2
"40000より小さいフィボナッチ数列の値のうち、偶数の値をすべて足しあわせよ。ただしF(0) = 1, Fib(1) = 2とする"

/*Project Euler:problem2*/
#include<stdio.h>

int main(){
  int table[65536];
  table[0] = 1;
  table[1] = 2;
  int i, j, product;
  product = 0;
  for(i=2; table[i-1] < 40000; i++){
    table[i] = table[i-1] + table[i-2];
  }
  for(j=0; j<i; j++){
    if(table[j] % 2 == 0) product += table[j];
  }
  printf("%d\n", product);
  return 0;
}

今日は眠いのでここまで。