携程笔试10.18

鸽了很久的携程笔试,今天终于做了,最后一个题为啥暴力不出来啊,题目很简单,就是一堆数组找两个数相乘乘积结果有几个0
代码如下
#include<iostream>
using namespace std;
int main()
{
    int n,k;
    cin>>n>>k;
    int a[n];
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    int m;
    int l=0;
    int t=1;
    for(int i=0;i<k;i++)
    {
        t=t*10;
    }
    int sum=0;
    for(int i=0;i<n;i++)
    {
        for(int j=i+1;j<n;j++)
        {
            m=a[i]*a[j];
            if(m>=t&&m%t==0)
        {
            sum++;
        }
        }
    }
    
    cout<<sum<<endl;
}

#携程笔试#
全部评论
写完突然有点凌乱,他题目是末位有几个0还是数里面有几个0啊
2 回复 分享
发布于 2022-10-18 21:04 山东
哈哈,没那么简单,得优化
点赞 回复 分享
发布于 2022-10-19 11:20 上海
请问几道算法题呀
点赞 回复 分享
发布于 2022-11-02 13:33 广东

相关推荐

点赞 评论 收藏
分享
1 2 评论
分享
牛客网
牛客企业服务