【課題提出】C言語でべき乗のプログラムをシンプルに書いてみた

 


課題提出などで、長いコードより短いコードのほうが提出が楽とされる場合があります。今回は「power」関数に相当するコードです。いわゆるべき乗を効率の良いループで計算するプログラムです。

  1. #include<stdio.h>
  2. main(){
  3.     int a,n,v;
  4.     scanf("%d%d",&a,&n);
  5.     for(v=1;n>0;v*=n%2?a:1,a*=a,n/=2);
  6.     printf("%d\n",v);
  7. }

以下がプログラム本体です。非常にシンプルで分かりやすいです。もちろん、アルゴリズム的にも洗練されており、単純に掛け算を乗数だけ繰り返すものでは有りません。

ただし、組み込み型のint変数を使っているので巨大な数はオーバーフローしますので注意です。 一応 2の30乗まで計算できます。

2

30

1073741824

このような計算結果です。

ウィンドウズアプリ入門 クリップボードにコピーされたらメッセージを受信する方法

 Windowsアプリでコピーされたときにイベントを取得できると便利です。例えばコピーされた内容を画面に表示したい場合などです。 もちろんタイマーイベントで定期的にポーリングをする方法もありますが、やや無駄な処理かもしれません。 Windowsとしてはコピーされたときのイベントを...