질문만 하는 델 초보 입니다..
mod 를 이용하여서 해당되는 나머지값을 가지고
어떤 정수의 "약수를 구하거나"..
2,3,5,7,11 과같은 "소수를 구하려구" 하는데..
맘처럼 쉽게 되질 않는 군요..
여기에 관련해서 아시는 고수님들 좀 알려주세여..
핵심적인 내용만 알려주셔두 됩니당..
감사합니당..꾸벅..
var
Value, ModValue, ModCount: Integer;
begin
for Value := 2 to 100 do
begin
ModCount := 0;
for ModValue := 2 to Value do
begin
if (Value mod ModValue) = 0 then
Inc(ModCount);
if (ModCount > 1) then
Break;
end;
if ModCount = 1 then
ShowMessage(IntToStr(Value) + '는(은) 소수입니다.');
end;
end;
네..답변 주셔서 감사합니다..그런데 제가 공부하는 입장이기에 무작정
님께서 오려주신 내용을 보고 할수는 없지 않겠습까??!! 그래서 한번더 부탁을 드립니다.. 제가 생각했던 것두 비슷한 형태이나..
처음 변수값을 0으로 초기화 하고 다음에 inc()로 증가를 해서 1보다 클때
break; 되게 하셨는데 저는 그 부분을 이해를 못하겠습니다..왜 증가를 하구..
1 초과하면 for 문을 나오는지 설명좀 부탁합니다..
다시 말하지만 델을 이해하려면 기초가 중요하다고 생각하기에 지금 차근차근 문제를 풀어나가고 있는 단계입니다..
어려운 말로 설명을 하면 이해하기 힘들고 그럴땐 하기 싫기도 하지만..
고수님들의 친절에 힘을 얻어 이렇게 공부를 하고 있답니다..
감사합니다..꾸벅..^^*
소수가 뭔지만 알면 금방 할 수 있는건데...
1하고 자기자신으로만 나누어진거 체크하시면 될듯...
var
Value, ModValue, ModCount: Integer;
begin
for Value := 2 to 100 do
begin
ModCount := 0;
for ModValue := 2 to Value do
begin
if (Value mod ModValue) = 0 then
Inc(ModCount);
if (ModCount > 1) then
Break;
end;
if ModCount = 1 then
ShowMessage(IntToStr(Value) + '는(은) 소수입니다.');
end;
end;
^^ 항상 즐코하세요...