クラウドLEVELコードテストC-1段階の良い兄弟

5644 ワード

テストクラウドLEVELコード
もんだいプログラミングもんだい
第1段階-の良い兄弟

🙂 質問する


https://level.goorm.io/exam/49088/%EC%9D%98%EC%A2%8B%EC%9D%80-%ED%98%95%EC%A0%9C/quiz/1
問題の概要
初日、秦禹は善宇に食糧の半分を与えた.
翌日、善宇は振宇に食糧の半分を与えた.
もし持っている食糧が単数で、半分に分けられないなら、すべての食糧をあげます.
その後D日目に秦禹と善宇はどのくらいの食糧を持っていますか?

😀 に答える

#include <stdio.h>
void main(){
	
	int jw, sw;
	int day;
	
	scanf("%d %d", &jw, &sw);
	scanf("%d", &day);
	
	for(int i=1; i<=day; i++){
		if(i%2!=0){
			if(jw%2==0){
				jw = jw/2;
				sw = sw+jw;
			}else{
				jw = jw/2;
				sw = sw + (jw+1);
			}			
		}
		else{
			if(sw%2==0){
				sw = sw/2;
				jw = jw+sw;
			}else{
				sw = sw/2;
				jw = jw + (sw+1);
			}	
		}
	}
		
	printf("%d %d", jw, sw);
}

🙏 整理する


単日その日秦禹は善宇に対して.
数日の間に善宇対秦禹.
食糧を与えても半分にならないうちに、もっと多くの食糧を相手にあげます.
食糧袋の変数を半分ずつ作り、伝えるかどうかを考える.
それぞれの2つの食糧変数で価格を伝えたいだけです.
もっと簡潔なコードがあると思いますが、違う演算子を使ってみるべきだと思います...