求纠错。。。

P3955 [NOIP2017 普及组] 图书管理员

不会dp退役菜鸡 @ 2018-01-26 17:31:28

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int i,n,q;
    int bm[1000],xq[1000],xqc[1000];
    bool judge=false;
    cin>>n>>q;
    for(i=0;i<n;i++)
    cin>>bm[i];
    sort(bm,bm+i);
    for(int i=0;i<q;i++)
    cin>>xqc[i]>>xq[i];
    for(i=0;i<q;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(bm[j]%pow(10,xqc[i])==xq[i]) {cout<<bm[j]<<endl,judge=true;break;}
        }
        if(judge==false) cout<<"-1"<<endl;
    }
    return 0;
}

求纠错。。。 报告说[Error] invalid operands of types 'int' and '__gnu_cxx::__promote_2<int, int, double, double>::__type {aka double}' to binary 'operator%'


by B_1168 @ 2018-01-26 17:38:17

可能是变量名和__gun_cxx的什么变量重了吧……本人蒟蒻,意见仅供参考


by panda_2134 @ 2018-01-26 17:44:53

int % double是非法的,但是pow返回double

C++的编译错误日志总是想着搞个大新闻,你看到a.k.a double了吗


by panda_2134 @ 2018-01-26 17:45:23

翻译一下就是

[Error] invalid operands of types 'int' and 'double' to binary 'operator%'

by 不会dp退役菜鸡 @ 2018-01-26 17:48:23

@panda_2134 谢谢,那怎么弄呢,double开不了【1000】的数组


by B_1168 @ 2018-01-26 17:52:40

貌似可以改为int(pow(10,xqc[i]))

蒟蒻拙见,仅供参考


by 不会dp退役菜鸡 @ 2018-01-26 17:57:39

@stewart 谢谢,能用了


|