오늘 필기시험 문 제 를 만 났 는데, 여러분 이 좀 봐 주세요. 빠 뜨 린 것 이 있 으 면 메 시 지 를 남 겨 주세요. 감사합니다.

11046 단어 js 필기시험 문제
함 수 를 쓰 고 매개 변 수 는 1000000 이내 의 정수 이 며 이 정수 가 소수 인지 아 닌 지 를 판단 해 야 합 니 다.주의: 코드 는 실행 효율 을 최적화 해 야 합 니 다. 실행 시간 은 32 밀리초 를 초과 해 서 는 안 됩 니 다.
                  1          ,            ,    1~function fun(data){
	        var date=new Date().getMilliseconds()
			var data1=parseInt(data);
			if(data!=data1 || data<1000000){//              ,    ,   ,      
				console.log(data+'    ')
				return;
			}
			var sum=0
			for(var i=2;i<=data-1;i++){//    1~data       
				var j=data%i//  
				if(j!=0){//    0,     1
					sum+=1	
				}  
			}    
			var num=data-2
			if(sum==num){//  sum==1~data     ,     1 data       ,    
	                var date1=new Date().getMilliseconds();
	                    console.log(date1)
	                 var time=date1-date
				console.log('   ',sum,time)
			}else{//     
	             var date1=new Date().getMilliseconds();
	                    console.log(date1)
	                 var time=date1-date
				console.log('    ',time)
			}
		}
		fun(1000000)

두 번 째 사고방식 은 내 가 리 셋 할 때 생각 한 것 이다. 여전히 수치 로 나머지 를 취한 다. 그러나 나머지 가 0 과 같다 면 사실은 이 값 이 소수 가 아니 라 는 것 을 설 명 했 기 때문에 인쇄 는 소수 가 아니 라 운행 을 멈춘다. 만약 에 전체 절차 가 운행 을 멈 추 지 않 으 면 인쇄 는 소수 이다.
function fun(data){
		        var date=new Date().getMilliseconds()
				var data1=parseInt(data);
				if(data!=data1 || data>1000000){//              ,    ,   ,      
					console.log(data+'    ')
					return;
				}
				for(var i=2;i<=data-1;i++){//    1~data       
					var j=data%i//  
					if(j==0){//   0
					console.log('    ',time);
					return;
					}
				}    
		             var date1=new Date().getMilliseconds();
		              var time=date1-date
					console.log('   ')
					console.log(time)
				
			}
			fun(1000000)

보 이 는 친구 가 좀 봐 주세요. 아니면 더 좋 은 방법 이 있 으 면 댓 글 을 남 겨 서 공부 하 게 해 주세요. 감사합니다!

좋은 웹페이지 즐겨찾기