title: What is different between int (%d) and %.0lf?
body: <p>in C++</p>
  
  <pre><code>int a, b, c;
  double k;
  
  scanf("%d %d %d", &amp;a, &amp;b, &amp;c);
  k = (double)a*a/(b*b + c*c);
  printf("%.0lf %0.lf %d", sqrt(b*b*k), sqrt(c*c*k), (int)sqrt(c*c*k);
  </code></pre>
  
  <p>For example, 
  input : 52 9 16
  output: 25 45 45</p>
  
  <p>But, I think that those is different.
  Actually, judge differently in online judge.</p>
  
  <p>What's different?</p>
  
  <pre><code>    printf("%.0lf %0.lf %d", sqrt(b*b*k), sqrt(c*c*k), (int)sqrt(c*c*k);
  </code></pre>
  
  <p>In the above sentence, l, not 1.</p>
  
  <p>Is it different depending on the compiler?</p>