C
AtCoderで座標回転が出題されたときに苦労したので、ここで整理しておく。まず、以下のように記号を定める。 :回転前の座標 :回転後の座標 :反時計回りに回転させる角度すると、原点を中心とした反時計回りの回転はこのように計算できる。整理して...次に…
ゼロ除算には気をつけているが、そうでない除算も未定義動作になるケースがあることに気付かされた。例えば16ビット符号付き整数型の最小値 -32768 を -1 で除算すると、オーバーフローしてしまう。 普通に算数をすると 32768 になるのだが、最大値は 32767 …
定番であるユークリッドの互除法で。 #include <stdio.h> int main() { unsigned int num1 = 1029; // GCDを求めたいペアのひとつ unsigned int num2 = 1071; // GCDを求めたいペアのひとつ // GCD計算 unsigned int a = num1; unsigned int b = num2; unsigned int r</stdio.h>…
#include <stdio.h> int main() { int end = 128; // 出力数 for (int n = 1; n < end; n++) { if (n % 15 == 0) { puts("FizzBuzz"); } else if (n % 3 == 0) { puts("Fizz"); } else if (n % 5 == 0) { puts("Buzz"); } else { printf("%d\n", n); } } return 0; } </stdio.h>…