- 347 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:44:06 ]
- [1] 授業単元:ネットワークシステム基礎演習
[2] 問題文(含コード&リンク):( ファイルbdata.txtには1から1000000までの異なる数が999999個入っている。つまり1から1000000までの数字のうち1つだけない。その数字を見つけなさい。 プログラムは #include<stdio.h> #define N 1000000 int main(void){ int min,max,mid; int count1,count2; int data,i; FILE *fp で始まり、これ以外の変数は使用してはいけない。 また、以下の方法でプログラムを書くこと。 方法)簡単のため。1から100までの数のうち、1つがない場合を例として方法を説明する。もちろん最後まで実行しないとわからないことだが、説明の都合上、存在しない数は48だとする。 (1)ファイルを先頭から最後まで読み、1〜50の数と51〜100の数の個数を数える。 (2)1〜50の数が49個しかないので、求めている数は1〜50の数のどれかである。 (3)ファイルを先頭から最後まで読み、1〜25の数と26〜50の数の個数を数える。 (4)26〜50が24個しかないので、求めている数は26〜50までの数のどれかである。 中略 (5)ファイルを先頭から最後まで読み、48〜49の数と50〜50の数の個数を数える。 (6)48〜49の数が1個しかないので、求めている数は48〜49までの数のどれかである。 (7)ファイルを先頭から最後まで読み、48〜48の数と49〜49の数の個数を数える。 (8)48〜48までの数が0個なので、求めている数は48である。 ) [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: ([2008年04月23日23:00まで] [5] その他の制限:
|

|