SAS/SAS 질문과 답변
소인수분해
이슈카
2016. 2. 21. 12:51
소인수분해에 대한 코드를 짜려고 하는데 좀 도와주세요... 어떤 수에 대해서 그 수가 소수가 아니면 NOTE = 'COMPOSITE', 소수이면 NOTE = 'PRIME' 이라고 출력한 다음에 DO WHILE 문을 이용해서 소인수분해를 하려고 합니다. DATA PRIME; INPUT X; CARDS; 22680 ; DATA LOOP; SET PRIME; LENGTH NOTE $ 16; DO K = 2 TO X WHILE(MOD(X, K) = 0); X = X / K; OUTPUT; IF MOD(X, K) = 0 THEN K = 2; END; IF X = K THEN NOTE = 'PRIME NUMBER'; ELSE DO; NOTE = 'COMPOSITE NUMBER'; END; PROC PRINT DATA=LOOP; RUN;
|