【課題提出】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

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

ボイスメモを簡単にパソコンに転送する方法 iTunes 社外アプリ不要 必要なものはカメラコネクションキット iOS iPhone

ボイスメモのファイルをパソコンに転送するのは意外に手間がかかります。iTunesを使う方法が紹介されますが正直挙動が良く分かりません。 社外アプリも便利ですが、アドウェアや良くわからない課金システムでインストールするのが怖いです。 今回の方法は、『カメラコネクションキット』を使っ...