问题标题: 酷町堂:3882 我有长辈

0
0
已解决
刘艺凡
刘艺凡
资深守护
资深守护

题目描述 Description

如果整数a是整数b(b>a)的因数,我们就规定:b是a的“长辈”。
给定n(1<=n<=100000)个正整数(大小不超过100000) ,找出其中有多少个数i满足:在此n个数中,有其它数是i的长辈。

输入描述 Input Description

两行,第一行为一个正整数n;
第二行为n个正整数,用空格隔开

输出描述 Output Description

满足条件的数的个数

样例输入 Sample Input

5 1 2 3 4 5

样例输出 Sample Output

2

0分代码:

#include<iostream>
using namespace std;
int a[100005],n,cnt,cnt1;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(a[j]%a[i]==0){
                cnt++;
            }
        }
        if(cnt>=2){
            cnt1++;
        }
        cnt=0;
    }
    cout<<cnt1;
    return 0;
}


0
已采纳
武奕楷
武奕楷
新手天翼
新手天翼

 

核心:
for(int i=1;i<=n;i++){
        for(int j=2*a[i];j<=mx;j+=a[i]){
            if(b[j]>0){
                cnt++;
                break;
            }
        }
    }
    cout<<cnt;

 

0
王文博
王文博
缔造者之神
缔造者之神
for(int i=1;i<=n;i++)
    {
        for(int j=2*a[i];j<=maxn;j+=a[i])
        {
            if(b[j])
            {
                cnt++;
                break;
            }
        }
    }

望采纳!

我要回答