京东幸运数为什么%0.。另一道把cout改成printf就过

#include <iostream>
#include <cstdio>
#include <list>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;

int main()
{
    int t;
    long long k;
    int a[100005];
    scanf("%d",&t);
    while(t--)
    {
        for(int i=0;i<100005;i++)
            a[i]=0;
        scanf("%lld",&k);
        if(k==1)
            printf("4");
        else if(k==2)
            printf("7");
        else
        {
            int i,j;
            for(i=1;;i++)
            {
                if(k>pow(2,i))
                    k-=pow(2,i);
                else
                    break;
            }
            j=i-1;
            k--;
            while(k)
            {
                a[j--]=k%2;
                k/=2;
            }
            for(int l=0;l<i;l++)
                if(a[l]==1)
                    printf("7");
                else
                    printf("4");
        }
        printf("\n");
    }
    return 0;
}

全部评论
叫你不好好学c++,为什么cin cout什么都能输入输出,不就是重载了,重载不就慢了
点赞 回复 分享
发布于 2016-09-05 23:36
http://blog.tk-xiong.com/archives/956
点赞 回复 分享
发布于 2016-09-06 10:01
编译器提示有问题。。。。
点赞 回复 分享
发布于 2016-09-06 09:32
实验了一下,好像是pow的问题?10^17的long long 减 pow(2,1) 还是10^17
点赞 回复 分享
发布于 2016-09-06 00:25
printf的效率比cout高。printf是函数,cout是类,得重载运算符函数
点赞 回复 分享
发布于 2016-09-05 23:10
另一道笔试题,用cout死活过不去,改成printf就过了。。凭啥。。。
点赞 回复 分享
发布于 2016-09-05 23:06

相关推荐

02-14 16:34
门头沟学院 Java
YukiYukino:爽啊,福报,三年前我拿了offer不去,读研出来门槛也变高了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务