프로그래밍 하는방법 ㅠㅠ

프로그래밍 하는방법 ㅠㅠ

QA

프로그래밍 하는방법 ㅠㅠ

본문

주머니에 동전 10개가 있었씁니다

 

아람이에게 동전을 가져가라햇더니 절반을 가져갓다가 1개를 도로넣어놨습니다.

 

그다음 우람이에게 가져가라했더니 남은 동전의 절반을 가져갔다가 2개를 더꺼내갑니다.

 

이때 아람이가 가져간 동전과 우람이가 가져간 동전 그리고 주머니에 남은 동전이 몇개인지 출력하는 

 

프로그램을 작성하세요

 

가 문제엿는데요

 

visulstudio로

 

string pocket = "주머니속에 있는 동전의 개수 :";
                int coin = 10;

            a_coin = coin - (coin / 2 + 1);
            Console.WriteLine(pocket);
            Console.WriteLine(a_coin);

           

           u_coin = coin / 2 - 2;
            Console.WriteLine(pocket);
            Console.WriteLine(coin);

 

 

            Console.WriteLine(pocket);
            Console.WriteLine(coin);

 

제가 이렇게 짜다가 a_coin 이라는 변수값을 만들어지지가 않았던것에대한 질문과

 

상수값을 만들수는 있겟는데 변수값을 만들질 못하겟습니다..

 

저걸 프로그래밍으로 짜려면 어떻게하는게 모범답안일지 알려주세요 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 4

자바스크립트로 표현해 보면 - 모범답안은 아니고요, 수많은 해결책 중 하나이니 참고만 하세요 -


<script>
var total = 10;
function operation(r, a) {
    op = r/2 + a;
    total = total - op;
    return op;
}
output1 = operation(total, -1);
console.log("우람코인수: " + output1); //결과 4
 
output2 = operation(total,  2);
console.log("아람코인수: " + output2); //결과 5
console.log("나머지: " + total); //결과 1
 </script>

a_coin 앞에 자료형을 붙여주세요.

int a_coin = coin - (coin / 2 + 1);

이렇게요.

앞에 자료형을 붙인다고 상수가 되는게 아닙니다. 자료형은 반드시 붙여주셔야 하는 겁니다. 변수와 상수의 개념이 잘못 잡힌 듯 합니다. c# 언어인 듯 한데, 관련 책을 다시 한번 읽어보심을 추천드립니다.

네 감사합니다 다시읽다가 발견한부분에 이렇게쓰여있네요

'변수와 상수의 차이는 값이 변할수있는지 여부뿐입니다.'

근데 보다보면자료형을 안붙이는것도 있었는데 자료형을 맨처음에만 붙이고 중간에 같은 단어가나왓을때 붙이지 않아도 되는건가요?
int applecount = 12;
Console.WriteLine(applecount);

appleCount = applecount - 2 ;
Console.WriteLine(applecount);
이런식으로요

평정심님이 답하신것을 약간 거들어볼께요

 

문제의 조건이 중 특징이

전체값중에

1. 절반을 꺼내서 

2. 꺼낸것 중 1만 반환

=> 절반-1만 꺼내고

 

3. 절반을 꺼내서 : 1번과 중복

4. 꺼낸것 + 2를 더 꺼냄

=> 절반+2를 꺼냄

 

큰 특징을 정리하면

1. 절반을꺼내는데

    처음엔 +1 

    두번짼 -2 

    세번짼 ?? 

패턴상 +3 이겠죠?

 

이렇다라고 가정을하고

함수를 만들면

증가값을 관리하는 변수와

+ - 상태를 관리하는 변수가 필요합니다.

역시 JavaScript 로 구현해봅니다


var flag = -1;
var stat = -1;
var count = 0;
var coin = 10;  // 잔여코인수
function operation() {
    stat *= flag;
    count++;
    var op = 0;
 
    if (coin > 1)
         op = coin/2 + stat;
    return op;
}
 
// 여기서부터는 값을 실행해볼 단계
  
console.log("우람이 꺼낸코인수: " +operation() ); //결과 4 
console.log("아람이 꺼낸코인수: " +operation() ); //결과 5 
 

 

냑에도 이런질문이 올라오다니...

답변을 작성하시기 전에 로그인 해주세요.
전체 34
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT