hdu 1178 Heritage from father

这道题是基本的输出格式问题,还是那句话细节决定成败。

代码
 
   
1 #include < stdio.h >
2 #include < math.h >
3
4   int main()
5 {
6 __int64 s,t;
7 double p,q;
8 while (scanf( " %I64d " , & s) != EOF && s)
9 {
10
11 p = log10(( 1.0 * s) / 6 ) + log10( 1.0 * (s + 1 )) + log10( 1.0 * (s + 2 ));
12 t = ( int )p;
13 p = p - ( int )p;
14 q = pow( 10.0 ,p);
15 printf( " %.2lfE%d\n " ,q,t); // 注意数据类型的匹配
16 /* s*(s+1)(s+2)/6=q*10^n
17 因为:位权是10的共有t=(int)p个(取对数得到,和求整数的位数类似),
18 两边同时取对数,经移项可得q */
19 } return 0 ;
20 }
21 /* 科学计数法的表示挺多的:
22 c++的函数:
23 cout<<setiosflags(ios::fixed)<<setprecision(2)<<pow(10,a)<<'E'<<int(b)<<endl;
24 也可以对求和结果sum,处理
25 c=0;
26 while (sum>=10)
27 {
28 c++;
29 sum/=10;
30 }
31 printf ("%.2lfE%d\n",sum,c);
32
33 */

 

转载于:https://www.cnblogs.com/rrll/archive/2010/10/03/1841738.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值