C言語でProject Euler(プロジェクト・オイラー)に挑戦 > スポンサー広告 > C言語でProject Euler 【Problem13】

    C言語でProject Euler(プロジェクト・オイラー)に挑戦 > Project Euler(プロジェクト・オイラー)【Problem 11~15】 > C言語でProject Euler 【Problem13】

    スポンサー広告

    スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。

    Project Euler(プロジェクト・オイラー)【Problem 11~15】

    C言語でProject Euler 【Problem13】

    Project Euler(プロジェクトオイラー)のproblem13☆
    C言語を使っています。

    /* Problem 13 †*/
    以下の50桁の数字100個の総和の上位10桁を求めよ。
    problem13.txt


    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    #define LINE_BUF 1024

    int main(void)
    {
        int i, j, k, sum;
        char buf[100][LINE_BUF], str[1], ans[LINE_BUF];
        FILE *fp = fopen("problem13.txt", "r");

    // テキストファイルの読み込み
        i=0;
        while(fgets(buf[i], sizeof buf, fp)){
            i++;
        }

        sum = 0;
        k = 0;

        for(j=49; j>=0; j--){
    // 一桁づつ足し算する
            for(i=0; i<100; i++){
                str[0] = buf[i][j];
                sum += atoi(str);
            }

    // 足し算の結果を配列askに代入
            ans[k] = sum%10;
        // 合計結果の繰上げ
            sum = (int)sum / 10;
            k++;
        }

    // 残りの桁を配列askに代入
        while(sum>0){
            ans[k] = sum%10;
            sum = (int)sum / 10;
            k++;
        }

    // 配列ask(合計)の表示
        for(i=k-1; i>=k-10; i--){
            printf("%d", ans[i]);
        }

    // テキストファイルを閉じる
        fclose(fp);

        getch();
        return 0;
    }


    Project Euler(プロジェクトオイラー) Problem13。
    problem13.txt
    をつくって、テキストファイルの読み込みを使ってみました。

    C言語でやるとなると、桁数の関係で、文字列配列でやるしかない
    と思いやってみました。

    どうなんでしょう・・この方法は





    ☆応援お願いします☆
    にほんブログ村 IT技術ブログ C/C++へ
    にほんブログ村


    <<C言語でProject Euler 【Problem16】C言語でProject Euler(プロジェクト・オイラー)に挑戦教えてください!!C言語でProject Euler 【Problem12】>>

    <<C言語でProject Euler 【Problem16】C言語でProject Euler(プロジェクト・オイラー)に挑戦教えてください!!C言語でProject Euler 【Problem12】>>

    コメント

    • 上位十桁を求めればいいので
    • 37.dakusui
    • 2013年03月22日 |
    • 上位十二桁を8バイト整数に入れれば、自分で足し算を作らなくても計算できます。
    • [編集]

    コメントする

    トラックバック


    この記事にトラックバックする(FC2ブログユーザー)

    カテゴリ

    最新記事

    WiMAX & WiFi & モバイル

    便利ソフトいろいろ

    最新トラックバック

    最新コメント

    カウンター

    BlogRancking



    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。