问题标题: 酷町堂:猜数字1

0
0
已解决
被禁言 刘宇航
刘宇航
修练者
修练者

#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main(){
    int a,b,cnt=0,c=1,d=100;
    system("color f5");
    cout<<"猜数字游戏"<<endl;
    srand(time(0));
    b=rand()%100+1;
    while(1){
        cnt++;
        cout<<"请输入一个"<<c<<"~"<<d<<"的数字:"; 
        cin>>a;
            while(1){
                if(a>=c&&a<=d) break;
                if(a>d||a<c) cout<<"输入有误,请重新输入:";
                cin>>a;
        }
        if(a==b){
            cout<<"猜对了!!!";
            break;
        }
        if(a>b){
              cout<<"你猜的数字大了!!!"<<endl; 
                 d=a-1;
        }
        if(a<b){
            cout<<"你猜的数字小了!!!"<<endl;
            c=a+1;
        }
        system("color f3");
        if(c==d){
        cout<<"请输入"<<c<<"这个数字:";
        cin>>a;
        cnt++;
        break;
        }
    }
    system("color f2");
    cout<<"你真聪明!!! 用了"<<cnt<<"次猜出来了!!!"; 
    return 0;
}

我选第一个


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

埃氏筛,别举报!

我要回答