프린트되는 것 사이에만 , 가 오게할수 없나요?..(??)
마루
숫자를 입력받고 그 숫자보다 작은 범위안에서 완전수를 찾아서 프린트 하는 문제인데요..
프린트되는 숫자들 사이에 , 를 넣으려고 합니다. 그런데 , 를 넣으려고 하면
1, 2, 3 이렇게 나와야하는데 1, 2, 3, 이렇게 마지막 숫자에도 , 가 붙게 되는데요... 마지막숫자에는 안붙게 할수 없을까요?#include iostream
using namespace std;
int chkperfectnum(int a);
void main()
{
int num;
coutFind perfect numbers\n
Write a positive integer:;
cinnum;
for(int i=1;i=num;i++){
if(chkperfectnum(i)==1){
couti, ;
}
}
}
int chkperfectnum(int a)
{
int k=0;
if(a==1)return 0;
for(int j=1;j=a;j++){
if(a%j==0)
k+=j;{
if(a==k)
return 1;
}
}
return 0;
}
-
차나
아하! 이런 발상의 전환을... 감사합니다 ^^
-
가온
흠.. 마지막 수를 알아 올 수 없다고 해도...
최초 출력되는 자료인지는 알 수 있기때문에..
첫번째가 아닌 경우에만 앞에 콤머를 출력하면 되겠죠..
[기존] 1, - 2, - 3, -- 이렇게 무조건 숫자 뒤에 콤머를 삽입하지 마세요.^^
[신규] 1 - ,2 - ,3 -- 요렇게 최초에는 그냥 숫자만 출력하시고
그 뒤부터는 앞에 무조건 콤머를 출력하시면 됩니다.
couti\ -
사람
if ( chkperfectnum(i) == 1 ) {
couti;
}
if ( 마지막이아닌가? ) {
cout \