20分,自己给写乱了
查看原帖
20分,自己给写乱了
561426
yutongt09楼主2023/3/25 09:51
#include<bits/stdc++.h>
using namespace std;
int main(int argc,char** argv){
	int i,l,n,r,mid,ans;
	int a[50000] = {0,1};
	for(i=1;i<=45000;i++){
		a[i]=a[i-1]+i-1;
		if(a[i]>45000){
			break;
		}
	}
	int T,t;
	scanf("%d",&T);
	while(T--){
		scanf("%d",&t);
		n=i-1;
	    l=1;
	    r=n;
	    while(l<=r){
		    mid=(l+r)/2;
		    if(a[mid]==t){
		    	ans=mid;
		    	break;
			}
			if(a[mid]>t){
				r=mid-1;
			}
			else
			{
				l=mid+1;
			}
	    }
	    if(ans==-1){
		    printf("1\n");
	    }
	    else
	    {
		    printf("0\n");
	    }
	}
	return 0;
}
2023/3/25 09:51
加载中...