質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

1回答

1557閲覧

フィボナッチ数 C言語

ta-9

総合スコア11

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2020/05/10 01:36

###聞きたい事
下記コードはn 桁を超える最小のフィボナッチ数を出力するものですが、これを十進n桁以上のフィボナッチ数の中でもっとも小さいものを書き出す様にするには何処をどう修正すれば良いでしょうか?

C

1#include <stdio.h> 2 3#define N 5000 4 5int main(void) 6{ 7 int D = 10; 8 int n; scanf("%d", &n); 9 char a[N + 1], b[N + 1], c[N + 1]; 10 int cm = 1; 11 int i, r; 12 13 for (i = 0; i <= n; i++) a[i] = b[i] = c[i] = 0; 14 b[0] = 1; 15 for (;;) { 16 for (r = i = 0; i < cm; i++) { 17 r = a[i] + b[i] + r; 18 c[i] = r % D; r = r / D; 19 } 20 if (r) { 21 c[cm++] = 1; 22 if (cm > n) break; 23 } 24 for (i = 0; i < cm; i++) a[i] = b[i]; 25 for (i = 0; i < cm; i++) b[i] = c[i]; 26 } 27 for (i = cm; --i >= 0; ) printf("%d", c[i]); 28 printf("\n"); 29 30 return 0; 31}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jimbe

2020/05/10 01:41

これはご自身で作成されたコードでしょうか. それとも「これをそのように修正せよ」という課題の修正元でしょうか.
ta-9

2020/05/10 01:44

ご回答ありがとうございます。 上のコードを修正又は新たに作成しても可という課題です。 よろしくお願いいたします。
gentaro

2020/05/10 01:50

残念ながらガイドラインで推奨されてないので、他を当たった方が良いです。 https://teratail.com/help/avoid-asking 「何かを作りたいのでコードを書いてほしい、学校の課題を解いてほしい等の質問は、具体的にプログラミングで困っている質問ではないと考え、推奨していません。」
guest

回答1

0

ベストアンサー

用語を統一すると「十進n桁を超える最小のフィボナッチ数を出力するものですが、これを十進n桁以上の最小のフィボナッチ数を出力する様にする」ということでしょうか?
「十進n-1桁を超える最小のフィボナッチ数を出力する」と等価のことであれば、n-1の判定に変更すればよいと思います。

「i < n」で判定するように変更。

C

1 for (i = 0; i < n; i++) a[i] = b[i] = c[i] = 0;

「cm >= n」で判定するように変更。

C

1 if (cm >= n) break; 2

投稿2020/05/10 02:02

etsuhisa

総合スコア416

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ta-9

2020/05/10 04:20

欲しい結果がでました。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問