HDOJ1060-数学公式

来源:互联网 发布:visual studio编程教材 编辑:程序博客网 时间:2024/04/30 09:52
/*  求num的最左位上的数:  设num=a.~*10^n; a即为所求  lg(num)=n+lg(a.~);  ->:lg(a.~)=lg(num)-n;  又n为num的总位数减1,n=(int)lg(num);  ->:a.~=pow(10,1g(num)-(int)(lg(num)));*/#include <cstdio>#include <cmath>#include <iostream>#include <string>using namespace std;int main(){    int cas;    scanf("%d",&cas);    while (cas--)    {        double num;        scanf("%lf",&num);        double x=num*log10(num);        x-=(__int64)x;        int ans=pow(10.0,x);        printf("%d\n",ans);    }    return 0;}

原创粉丝点击