- ベストアンサー
関数当てゲーム
xとyの値から関数を当てるゲームです。 値は以下です。 当てはまる関数を教えてください。 x = 1, 2 , 3 , 4 , 5 y = 1, 5 ,14 , 30 , 55 (xが1の時、yが1、xが2の時、yが5という意味です)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- nanashisan_
- ベストアンサー率20% (55/275)
- okwavey2
- ベストアンサー率15% (251/1593)
関連するQ&A
- 数当てゲーム
たのしいCという本でプログラミングの勉強をしています。 演習問題の解答がないので質問します。 2つの乱数を決定し、x以上y以下の整数を当てるプログラムです。 入力した数に対してヒントがあり、正解よりも小さければ"小さいです"と表示されます。 入力回数の制限を設け、乱数によって適切な入力回数にする計算方法の仕方がわかりません。 0以上1000以下の乱数の場合10回が適切みたいです。 よって0以上2000以下の場合は11回だということだと思います。 下のプログラムは回数の計算はしませんが、x以上y以下の整数を当てるプログラムになっていると思います。 適当な変数の名前や見にくいプログラムですいません。 /* 課題1-3 */ #include <time.h> #include <stdio.h> #include <stdlib.h> #define MAX_STAGE 11 /* 最大入力回数 */ int main(void) { int i; int no1; /* 範囲1 */ int no2; /* 範囲2 */ int max; /* 大きい乱数 */ int min; /* 小さい乱数 */ int y; /* 当てさせる数 */ int k; /* maxとminの差 */ int stage; /* 入力回数 */ int x; /* 読み込んだ値 */ int xbuf[MAX_STAGE]; srand(time(NULL)); no1 = rand(); no2 = rand(); if(no1 > no2){ max = no1; min = no2; } else{ max = no2; min = no1; } k = max - min; y = min + rand() % (k+1); printf("%d以上%d以下の整数を当ててください。\n", min, max); stage = 0; do{ printf("残り%d回。いくつでしょう:\n", MAX_STAGE - stage); scanf("%d", &x); xbuf[stage++] = x; if(y > x) printf("小さいです。\n"); else if(y < x) printf("大きいです。\n"); }while(y != x && stage < MAX_STAGE); if(y != x) printf("残念でした。正解は%dです。", y); else printf("正解です。%d回目で正解しました。", stage); puts("\n---入力履歴---"); for(i=0; i<stage; i++) printf(" %2d : %4d %+4d\n", i+1, xbuf[i], xbuf[i] - y); return (0); } 自分が考えた入力回数の設定は、kの値をif文で場合分けして入力回数を決定するという方法が思いつきました。他に何か良いアイデアとかってあるのでしょうか。 また、ごちゃごちゃと文を書いているので改善点などもあればよろしくお願いします。
- ベストアンサー
- C・C++・C#
- 数当てゲームを作っているのですが
数当てゲームを作っているのですが 乱数を設定してその値よりも小さい値を入力したら「小さい」、 大きい値を入力したら「大きい」と表示して その値を入力したときは「正解」と表示するような数当てゲームを作っています。 一応コードは書けたのですが、コンパイル、実行がうまくいかないのです。 ご指摘お願いします。 以下コード /* 1~99の乱数を発生させる */ #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int i,random; // 乱数の種を植える,種に時間を使う srand((unsigned)time(NULL)); for(i=0; i<1; i++) { //乱数の発生 random = 1 + rand()%99; printf("%d\n",random); } printf("数当てゲームをはじめます。\nコンピュータが当たり数を用意しました。当たり数は1~99の間にあります。\n"); for(;;) { printf("あなたの予想は? > "); scanf("%d",&i); if(i>random) puts("大きい"); else puts("小さい"); break; } if(random - i = 0) printf("正解"); return (0); }
- 締切済み
- C・C++・C#
- 数当てゲームについて
#include<stdio.h> #include<time.h> #include<stdlib.h> int main(void) { int num; int no; int max=11; int limit=0; srand(time(NULL)); /*乱数の値を初期化*/ no = rand() %1000; do{ printf("あと入力回数は%d回です。数字を入力してください。\n",max-limit); scanf("%d",&num); limit++; if(num>=1000 || num<=-1000) { printf("-999以上999以下の整数を入力してください。\n"); return -1; } if(num>no) { printf("\a大きいです。\n"); } else if(num<no) { printf("\a小さいです。\n"); } }while(no!=num && limit<max); if(no==num) { printf("正解です。\n"); printf("%d回で当たりました。\n",limit); } else { printf("残念です。当たりませんでした。\n"); printf("正解は%dでした。\n",no); } return 0; } これは、0以上999以下の整数を入力させて11回以内にランダムで 入力した値を当てさせるゲームです。 質問内容としては 「0以上999以下」→「-999以上999以下」に変更するにはどうすれば よいかです。 一部、「-999以上999以下」の値を入力してくださいとなっていますが 結局わからずにそのままになっているためです。 よろしくお願いいたします。
- ベストアンサー
- C・C++・C#
- Excelで2次関数の頂点の座標を求める方法
Excelで2次関数の最大値の頂点の座標を求める方法を教えて頂けないでしょうか。 y軸の値について最大値を出すためにはMax関数を使用すれば出ますが、その時のx軸の値を求める関数が分かりません。 例えば、以下のデータがあったとします。 Maxコマンドを使用すると最大値のy軸の値は「8」とでますが、そのときのx軸の値 が抽出できればと、この時のx軸の値は「3」と出したいのですが、関数が分かりません。 ご教授お願いいたします。 x y 0 0 1 2 2 4 3 8 4 4 5 2 6 0
- ベストアンサー
- Excel(エクセル)
- 数値の並びから関数をつくりたい
ある物体の動きを数列にまとめました。 グラフにすると、きれいな放物線になります。 この数列を関数化するには、どうしたらよいでしょうか 等差数列等を使ってうまく関数式にできないでしょうか。 試行錯誤の結果以下のようになりそうですが、 Y = X ^ 5 / 200 + 30 (^記号はべき乗で、/は割るです) 根拠もなく導いたので、もっとよい式にしたいのです。 最終的には 以下の数値の並びから X が 11 の時の Y の値を 予測するのに、必要な関数の導きだしたいのです。 グラフで見ると、X=11 の時 Y は 800 くらいなのですが・・・ その手法だけでもけっこうです。よろしくお願いします。 X Y -- --- 1 30 2 55 3 70 4 80 5 85 6 120 7 150 8 180 9 260 10 520 X が 10より大きい時のYの求め方は? 以上 よろしくお願いします。
- ベストアンサー
- 地理学
- 1次関数の値の変化について教えて下さい。
1、1次関数y=-5x+2について、xの値が4ずつ増加していくと、yの値はどうなりますか。 2、1次関数y=4x-1について、yの増加量が12の時のxの増加量を求めなさい。
- 締切済み
- 数学・算数
- 関数についての参考書の説明がよくわかりません
2つの変数x、yについて xをある値に定めたとき、それに対して、ただ一つのyの値が定まるとき、yはxの関数であるといい y=f(x)と表す。 fはxの式のこと。 と書かれているのですが 意味がよくわかりません。 初めはfはyとxが関数であることのマークみたいに書かれていますが その下にfはxの式のことと書かれていて 頭が混乱しています。 いったいfとは何なのですか?
- ベストアンサー
- 数学・算数
お礼
いくら考えても解りませんでしたが 有名な公式でしたか。 きっと、自力では一生思い付かなかったと思います。 深く感謝します。