- ベストアンサー
犯人探し
こんにちは、いつもお世話になっています。 今、2の階乗の数値があるとします。 --------------------------------- 2^0 = 1 2^1 = 2 2^2 = 4 2^3 = 8 2^4 = 16 2^5 = 32 2^6 = 64 2^7 = 128 2^8 = 256 ------------------------- たとえば犯人82がいて、 これはどの合計か知りたいと考えております。 答えは[2^1]と[2^4]と[2^6]の合計なので、 [1, 4, 6]となります。 これをプログラムで書きたいのですが どのようにすればいいでしょうか? $answer = *****(関数名)(82); ※$answerは配列型です。 宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
関連するQ&A
- プログラミング関係で
プログラミングで次の問題をどうすればいいのかわかりません。 教えてください 1.配列に次のデータが格納されており、 2,-8,5,-4,6,5,7,-3,-9,-1 奇数、偶数、負の数がそれぞれいくつあるかを数え、表示するプログラムを作成してください。 2.任意の整数Xを入力し、Xの階乗の結果を表示するプログラムを作成しなさい。ただし、Xの階乗の計算は別関数で行い、入力と結果の表示はmain関数で行うようにすること。
- ベストアンサー
- その他(プログラミング・開発)
- 多次元配列の引渡しについて
メイン関数と 副プログラム(?)間での 三次元配列の数値の引渡しは可能なのでしょうか? 今の私のプログラムだと どうもうまく引き渡されていないようなのです。初心者のため いきづまってしまいました。どなたか分かる方 教えていただけると助かります。
- ベストアンサー
- C・C++・C#
- インデックス(index)関数を用いて
ある数値配列をもったファイルがあります。(100個ほど数値があるとしてください)その中から、自分でプログラムを作る際に指定した連続した配列(7、8個程度だと考えてくだされば結構です)を探し、それが見つかった場所から配列の最後までを表示するプログラムを作りたいんですが、どのようにしたらいいんでしょうか? インデックスindexだけでは、指定した文字が存在するかしないかの判断はできると思われるんですが。 実行する際には、以下のようにするつもりです。 プログラムファイル名.pl データファイル(数値配列)名.txt 検索する数値列(ここでは簡単に表示するために1234567)としておきます。 わかりにくくてすいませんが、回答よろしくお願いします。
- 締切済み
- Perl
- エクセル関数の解読サイトなんてありますか?
エクセル関数の解読サイトなんてありますか? いつもお世話になっております<(_ _)> エクセルファイルに関数の入った数式が入力されています。 セルごとに複数の関数が入っていますが、私にはちっともわかりません。 そこで質問です。 こんなとき「エクセル関数を解読」してくれるようなサイトってありませんか? たとえば検索窓があってそこに「=SUM(S1:S13)」わからなくて困っている関数式を入力。 すると答えの別ボックスに「S1~S13までの数値の合計」と出てくるようなサイト。 それに近いサイトでも良いので知っている方がいらっしゃればぜひ、教えてください<(_ _)>
- ベストアンサー
- その他MS Office製品
- SUMPRODUCT関数の使い方
いつもお世話になっております。SUMPRODUCT関数の使い方が解らず困っています。 どなたか、教えてください。 I列(3~1034)に101と入力されており、F列(3~1034)に○と入力されているセルの数を数えたくて、 SUMPRODUCT関数を使いましたが、答えが0になるか、NAME?になるかで、正答が表示されません。 関数が苦手なので、SUMPRODUCTは、関数の表示ダイアログボックスを使って作成しています。 すると、配列1、配列2、配列3と出てくるので、 配列1に I3:I1034=101 配列2に F3:F1034=○ (絶対参照して)入力すると =SUMPRODUCT($I$3:$I$1034=101,$F$3:$F$1034=○) となり、答えは #NAME? と出てしまいます。 また、やり方が解らないのですが、他の質問の回答をみて、SUMPRODUCT関数を手入力し、 =SUMPRODUCT(($I$3:$I$1034=101)*($F$3:$F$1034=○)) と修正入力すると、答えは 0 になってしまいます。 (だいたい、どうして * が出てくるのかも理屈が解りません。) 101や○を””でくくっても、うまくいきません。 もはや何がどう良くないのかわかりません(泣) どなたか、素人の私にも解るようにご解説お願いいたします。
- ベストアンサー
- オフィス系ソフト
- C言語から質問です。
C言語から質問です。 /* main関数の中で初期化した配列 data[10]={60,30,70,25,20,9,92,55,20,10}; を関数 keisan() に引数として渡して、関数keisan()内で 平均値、最大値,最小値 を求め、その結果をmain関数に戻し、main関数内で 平均値、最大値,最小値を表示させるプログラムを作成せよ。 int keisan(const int data[], int data_kosuu, double answer[]) { return 0; } とする。 (注) プロトタイプ宣言を用いよ。 ヒント:平均値,最大値,最小値の3つの値を main関数に戻すやり方として、配列answer[]を使うとよい。 data_kosuu は、配列の要素数を与えるものです。 ヒント: (int型の変数)/(int型の変数)=int型の値です。 int型同士の割り算の答えANSWERをdoubleにしたい場合は、 ANSWER=(double)(int型の変数)/(int型の変数); と(double) キャストという操作をする必要がある */ #include <stdio.h> int keisan(const int data[], int data_kosuu, double answer[]); int main(void) { int i; int a[10]={60,30,70,25,20,9,92,55,20,10}; // この値を使ってください double ans[3]; keisan(a,10); /* keisan関数に配列と配列要素数を引数で与える */ for(i=0; i<10 ; i++) printf("a[%d]=%d\n",i,a[i]); printf("平均=%lf 最小値=%d 最大値=%d\n",ans[0],ans[1],ans[2]); return 0; } /* 合計・最大値・最小値を求める関数 */ int keisan(const int data[], int data_kosuu, double answer[]) { int i; int sum; int min,max; min=10; /* min の初期化 */ max=10; /* max の初期化 */ sum=0; /* 合計値の初期化 */ for (i=0; i<10 ; i++){ sum = sum+data[i]; if(data[i] > max) max=data[i]; if(data[i] < min) min=data[i]; } sum=sum/10; answer[0]=sum; answer[1]=min; answer[2]=max; } エラー error C2198: 'keisan' : 呼び出しに対する引数が少なすぎます。 とでて先に進めません。 教科書などを見ても間違いがわかりません; 虫食いになってるところを自分なりにやってみたため、 根本的に間違ってるかもしれませんが、 どうかアドバイスや指摘などをお願いします。
- ベストアンサー
- C・C++・C#
- ある条件を満たした最も近い数値を求める配列数式
ある条件を満たした最も近い数値を求める配列数式について質問します。 A列には,C列の数値と比較する元になる数値が並んでいます。 B列には,D列の数値と比較する元になる数値が並んでいます。 C列には,A列の数値と比較する対象となる数値が並んでいます。 D列には,B列の数値と比較する対象となる数値が並んでいます。 E列には,計算式が入ります。 すなわち,例えば,E20には, C$1:C20の範囲内の数値で, 右となりにあるD$1:D20の数値が0でなく,かつ,B$1:B20の数値以下である数値の中で, 最もA20の数値に近い数値を求めます。 A B C D E 1 100 10 89 0 0 2 101 8 90 10 0 3 102 11 92 11 92 4 99 7 77 0 0 5 87 11 68 12 92 6 105 14 100 7 100 7 102 9 78 8 100 8 88 15 102 0 90 9 98 14 99 10 99 10 150 13 78 9 100 11 103 8 79 0 100 12 87 9 68 8 78 13 77 10 70 10 78 14 89 12 71 5 90 15 65 14 102 3 68 16 88 13 105 0 90 17 123 15 98 8 102 18 145 17 99 10 102 19 85 8 100 0 90 20 84 9 87 5 78 一定の条件を満たした配列の合計を計算する関数として,SUMPRODUCT()という便利な関数がありますが, この関数に相当する関数がないので困っています。 MIN関数が配列数式に対応していて,かつ,MIN関数をうまく利用して,最も近い数値を求めることがでるき方法があれば,私の希望が解決できそうなのです。 以上,よろしくアドバイス願います。
- ベストアンサー
- オフィス系ソフト
- エクセル関数で質問です
こんにちは。いつもお世話になっております。 エクセルの関数で質問があります。 毎月の集計表を作っており、シート名が1~31、 ●月合計・●月合計2 とあります。 ●月合計のシートには日付が縦に入っており、 A4 ●月1日 A5 ●月2日・・・というように 続いております。 B4のセルには、 1のシートの数値、 B5のセルには 2のシートの数値・・・というように、 各シートのデータを参照したいと思っていますが、 下へオートフィルで数式をコピーして参照できるように するにはどうしたらいいでしょうか? ROW関数などを使ってみたのですが、どうもうまくいかず 困っています。 一列だけでなく、複数列あるため、手作業で一つ一つ 参照するのは、非常に困難なため、お知恵を拝借できれば幸いです。 よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
お礼
はっ!! 気づきませんでした・・・ ありがとうございました!!