• pow的小事不简单


    http://acm.hdu.edu.cn/showproblem.php?pid=5878

    #include<stdio.h>
    #include<iostream>
    #include<algorithm>
    #include<string.h>
    #include<math.h>
    using namespace std;
    long long int ll=1e9;
    long long int ss[500005];
    /*
    long long int pow(long long int a, long long int b)
     {
        long long int ans = 1;
         while(b)
         {
             if(b & 1)ans *= a;
            a *= a;
             b>>=1;
         }
         return ans;
     }*/
     ///不定义上面这个函数的话答案就是错误的
    因为对于pow在文件中定义的函数的返回值类型是double,而本题仅仅要求返回long long类型的值,若是直接用文件中自定义的pow函数就会因为精度的差异而造成错误
    int main()
    {
        int t;
      long long int ch;
        cin>>t;
        while(t--){
                int p=0;
            int n;
            for(long long int i=0;i<31;i++)
            for(long long int j=0;j<20;j++)
                for(long long int k=0;k<14;k++)
            for(long long int l=0;l<12;l++){
                ch=pow(2,i)*pow(3,j);
                if(ch>ll)break;
                ch*=pow(5,k);
                if(ch>ll)break;
                ch*=pow(7,l);
                if(ch>ll)break;
                ss[p++]=ch;
            }
            sort(ss,ss+p);
        cin>>n;
        int l=0;
        int r=p-1;
        while(l<r){
            int mid=l+(r-l)/2;
            if(ss[mid]>=n){
                r=mid;
            }
            else l=mid+1;
        }
        cout<<ss[l]<<endl;
    
        }
    }
    你若盛开,清风自来...
  • 相关阅读:
    Xshell相关优化
    Inotify+rsync远程实时同步
    MySQL主从复制故障解决
    Docker部署centos7容器
    Salt-ssh批量部署minion
    MySQL数据库二
    防火墙2
    MySQl数据库
    防火墙
    http原理2
  • 原文地址:https://www.cnblogs.com/shangjindexiaoqingnian/p/5891074.html
Copyright © 2020-2023  润新知