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

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

縦長動画の編集、公開方法 Reel や shorts メタデータで動画を90度回転 ffmpeg

 動画といえばテレビ。だから横長で見るのが常識と言われていました。かつては2001年宇宙の旅で、情報スクリーンは縦になるだろう? と言われていましたが横向きのままでした。更にテレビのワイド化でエスカレートしていました。 インスタが世界を変えた スマホが普及してもスクリーンの使い方...