MT1168总结

MT1168总结_第1张图片

暴力破解,首先明白一点,结束循环的条件是i<=(n/2)+1

#include 

using namespace std;

int main()
{
    int n;
    scanf("%d",&n);
    int sum=1;
    for(int i=1;sum<=(n/2)+1;i++){
    	sum=sum*i;
    	if(sum==n){
    		printf("YES");
    		return 0;
		}
	}
	printf("NO");
    return 0;
}

你可能感兴趣的:(算法,c++,数据结构)