結果

問題 No.428 小数から逃げる夢
ユーザー Dugong
提出日時 2016-10-04 20:51:40
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 846 bytes
コンパイル時間 160 ms
コンパイル使用メモリ 24,064 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-21 16:49:29
合計ジャッジ時間 2,270 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 88 WA * 12
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:9:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    9 |   scanf("%d",&n);
      |   ~~~~~^~~~~~~~~

ソースコード

diff #

#include<cstdio>
#include<cstring>

char s[] = "0.1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991";
char ans[200];

int main(){
  int n;
  scanf("%d",&n);
  int res = 0;
  int p = 0;
  for(int i=2;i<192;i++){
    res = res+n*(s[i]-48);
    sprintf(ans+p,"%d",res/10000);
    p = strlen(ans);
    res%=10000;
    res*=10;
  }
  if(res<10){
    sprintf(ans+p,"0000");
    p+=4;
  }else if(res<100){
    sprintf(ans+p,"000");
    p+=3;
  }else if(res<1000){
    sprintf(ans+p,"00");
    p+=2;
  }else if(res<10000){
    sprintf(ans+p,"0");
    p++;
  }
  sprintf(ans+p,"%d",res);
  if(n<=8) printf("0");
  else if(n<=81) printf("%c",ans[3]);
  else printf("%c%c",ans[2],ans[3]);
  printf(".%s\n",ans+4);
}
0