中学3年生です。まだ、C言語初心者なのですが日本情報オリンピックの予選に出場しようかなと考えています。今年の12月16日に予選があるのですが、その過去問(去年の予選に出題された問題)を下のリンクに掲載されています。
■そこで、質問なのですがこの問題は簡単なのでしょうか。
まだ、C言語初心者で覚えなきゃならないこともまだまだたくさんあります。しかし、後3ヶ月あるので一生懸命がんばりたいと思います。
■この問題は、3ヶ月特訓してすいすいと解ける問題でしょうか。教えてください。
http://www.ioi-jp.org/joi/2006/2007-yo-prob_and_ …
No.5ベストアンサー
- 回答日時:
★中学3年生(15歳)ではないので…。
私が C 言語を始めたのは 18 歳の頃でした。→高校を卒業後。
>■そこで、質問なのですがこの問題は簡単なのでしょうか。
↑
過去の自分を振り返り(C言語を始めたばかりの頃)で考えると問題1~3までは解ける。
でも問題4~6は無理だったかもしれない。基本的に最初は C 言語を嫌々でやっていたので。
■この問題は、3ヶ月特訓してすいすいと解ける問題でしょうか。
↑
個人差があるので…。→嫌々でやると進まない。当たり前だけど。
次の点をお勉強してみたらどうでしょうか。
問題1…ファイル入力、if文、printf文を理解していれば出来る。
問題2…ファイル入力、配列、ループ文を理解していれば出来る。
問題3…文字コード、文字定数、文字列を理解していれば出来る。
問題4…問題の意味を理解、アルゴリズムを解くコツを見つけないと難しい。
問題5…こちらも問題の意味を理解、数学の組み合わせなどを復習しないと難しい。
問題6…同上。
・問題を読んでみて問題1~3、問題4~6では解ける人と解けない人に大きく分かれそうですね。
問題4~6を解くには数学の組み合わせを人間ではなくてプログラムで解くためにはどのように
記述すればよいのかのコツを見つけるしかないでしょう。類似問題をたくさん解いたり、自分で
類似問題を作って解いていくのが一番いいと思います。C 言語の文法とはまた別のアルゴリズムの
お話になりますから。
・アルゴリズムを解くには基本の変数、配列、if、else、for、while、switch を完全に理解して
使いこなせる準備をする必要があります。そこで基本を1ヶ月間みっちりと学習します。
その後に類似問題を自分で作ったり、友達に作ってもらったりしてアルゴリズムを解けるように
特訓します。例え解けなくても『考える』ことが重要です。またずっと同じ問題を考えるのではなくて
途中で別の問題も解きます。このときに別の考えで問題を解く事になると思いますのでそのときに
前の解けなかった問題のヒントがひらめくかもしれない。
つまり、問題を解くために慣れるわけ。→数学(組み合わせなど)と一緒に問題なれする事。
・以上。基本からステップアップを計画的に行いましょう。
No.4
- 回答日時:
問題をみましたが、
1.まず数学的に解き方を考えること。
2.それをC言語で表現すること。
3.そのプログラムが正しく動作すること。
の3段階を追う必要があります。
C言語としては、特に強化しておいたほうがよいポイントとして、ファイルの入出力、配列、データ構造について勉強しておくとよいかもしれません。(他は、随時覚えられるはずなので。)
この手の問題は、プログラミングができることは前提となっていますが、数学の問題と同じで、読解力も必要となるでしょうから、高校入試レベルの問題をC言語でやってみるのも面白いかもしれません。
No.3
- 回答日時:
一応プログラマしてます。
(かなり似非レベルですが^-^;)問1~3、5は適当に読んでたら解けました。(頭の中でですが)
問4、6は自分は数学知識が乏しいのでちと勉強やり直さないと解けません。(^-^;)
C言語のレベルとしては基礎的な構文(if,for,while,配列)が分かっていれば
解けるので簡単かと。(ポインタとか構造体は別に使わなくても良いし・・・)
僕は自分の頭で理解出来るものは大体C言語に置きかえれるんですが、
中学・高校時代と全く勉強しなかったので数学が理解出来ておりません。
Rhinocerさんが問題と入力を見て、出力の値を数学で導き出せるのであれば
あとはC言語の基礎を勉強するだけでコーディングは簡単だと思います。
C言語の基礎的な構文は1ヶ月(1時間/日)あればまぁ理解出来るかなと・・・
ではでは、頑張ってください。(^-^)
No.2
- 回答日時:
先ほどの回答をした者です。
高校受験の心配をしなくてよいのは大きなメリットですね。
コンピュータで問題を解く際、いきなりC言語のコードを書く前に、
まず手作業でやってみることで、コンピュータに解かせる際の
一般的な手順が見えてくるかもしれません。
答えの数が何百とおりも何千とおりもありそうだと、それだけで
イヤになってしまいますが、今回の場合は、幸いなことに
いちばん骨のありそうな問題6でもおよそ10とおりくらいに
収まりそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列探索アルゴリズム(Aho Co...
-
P2P
-
【C言語】行列のランク(階数)...
-
Google ColaboでGUI作成
-
Windows Media Playerを開くと...
-
iCloudフォトライブラリ内の画...
-
プログラマーで「使えない人」...
-
python urlopen error について...
-
VB.NET とドットNET(.NET...
-
C++を読めるようになりたい
-
Xcodeで0からC言語でプログラ...
-
G++ 例外は要らない
-
String^の^自体が何を意味して...
-
ワープロソフトの製作難易度
-
パソコン
-
LIBCMT.LIBをリンクしてコンパ...
-
設定ファイルを扱うライブラリ...
-
プログラミングを学ぶのに最適...
-
「System.Text.RegularExpressi...
-
unix-c と linux-c の違いは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
麻雀ソフトのソースコード
-
アルゴリズムC
-
課題研究で3Dゲーム製作
-
SEOの本, 一冊読むなら?
-
文字列探索アルゴリズム(Aho Co...
-
将棋AIを作りたい
-
C言語を学ぶには・・・
-
下記のアルゴリズムの問題がよ...
-
プログラミングVBAについてです...
-
【C言語】行列のランク(階数)...
-
大学生です。 画像のC言語の課...
-
アルゴリズムとデータ構造の本...
-
東芝新製品に採用されている
-
VC++でジャンケンゲームを学びたい
-
delphi:文章の暗号化
-
Rijndael2
-
C言語の上級者を目指したい。
-
Excelで乱数発生のアルゴリズム
-
Windows Media Playerを開くと...
-
Google ColaboでGUI作成
おすすめ情報