C言語なら俺に聞け(入門篇) Part 12at TECH
C言語なら俺に聞け(入門篇) Part 12 - 暇つぶし2ch669:デフォルトの名無しさん
07/05/14 20:57:46
>>535 プログラムよりアルゴリズムの方が(数学が)難しかった
#include<stdio.h>
int main(void){
    int x, tmp, left, ans, digit_align;

    printf("正整数を入力してください > ");
    scanf("%d", &x);
    if(x<0){printf("\nError:正整数を入力してください\n");return 1;}

    for(digit_align=1;x/digit_align>=100;digit_align*=100);

    left=x/digit_align;
    ans=0;
    while(left>0 || digit_align>0){
        for(tmp=9;tmp>0;tmp--)
            if((ans*20+tmp)*tmp<=left)
                break;
        if((ans*20+tmp)*tmp<0) break; // overflow?
        printf("%d", tmp);
        if(digit_align==1) printf(".");
        digit_align/=100;
        if(digit_align>0)
            left=(left-(ans*20+tmp)*tmp)*100+(x/digit_align)%100;
        else
            left=(left-(ans*20+tmp)*tmp)*100;
        ans=ans*10+tmp;
    }
    printf("\n");

    return 0;
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch