[C# 실습 설명] 제어문 - 공약수 구하기
의사코드(pseudo code)로 알고리즘 전개하기 - 주석으로 표현
//5. 두 개의 정수를 입력받아 공약수를 출력하시오.
private static void ExE()
{
//fnum:= 정수 입력
//snum:= 정수 입력
//조건(fnum>snum) - (fnum과 snum을 바꿔야 함)
{
//temp := snum
//snum := fnum
//fnum := temp
}
//반복(n:= 1->fnum)
//조건(n이 fnum과 snum의 약수이면)
//*fnum을 n으로 나누어서 나머지가 0이면 약수임.
//n출력
}
소스 코드
//5. 두 개의 정수를 입력받아 공약수를 출력하시오.
private static void ExE()
{
//fnum:= 정수 입력
Console.WriteLine("첫 번째 정수를 입력하세요.");
int fnum = GetNum();
//snum:= 정수 입력
Console.WriteLine("두 번째 정수를 입력하세요.");
int snum = GetNum();
if (fnum > snum)//조건(fnum>snum) - (fnum과 snum을 바꿔야 함)
{
int temp = snum; //temp := snum
snum = fnum;//snum := fnum
fnum = temp;//fnum := temp
}
for(int n=1; n<=fnum;n++)//반복(n:= 1->fnum)
{
if(((fnum%n)==0)&& ((snum % n) == 0))//조건(n이 fnum과 snum의 약수이면)
//*fnum을 n으로 나누어서 나머지가 0이면 약수임.
{
Console.WriteLine(n);//n출력
}
}
}
현재까지 작성한 전체 코드
using System;
namespace 제어문_실습
{
class Program
{
static void Main(string[] args)
{
//1. 두 개의 정수를 입력받아 큰 수를 출력하시오.
//ExA();
//2. 한 개의 정수를 입력받아 짝수인지 홀수인지 출력하시오.
//ExB();
//3. 점수(0~100)를 입력받아 학점을 출력하시오.
//0~59:F, 60~69:D, 70~79:C, 80~89:B, 90~100:A, 기타:Not Support
//ExC();
//4. 두 개의 정수를 입력받아 두 수의 범위에 있는 정수의 합을 출력하시오.
//ExD();
//5. 두 개의 정수를 입력받아 공약수를 출력하시오.
ExE();
//6. 사용자로부터 메뉴를 입력받아 기능을 수행하는 것을 반복하시오.
//I를 입력하면 추가, D를 입력하면 삭제, S를 입력하면 검색,
//L을 입력하면 전체 출력
//E를 입력하면 반복 수행을 마감
}
//5. 두 개의 정수를 입력받아 공약수를 출력하시오.
private static void ExE()
{
//fnum:= 정수 입력
Console.WriteLine("첫 번째 정수를 입력하세요.");
int fnum = GetNum();
//snum:= 정수 입력
Console.WriteLine("두 번째 정수를 입력하세요.");
int snum = GetNum();
if (fnum > snum)//조건(fnum>snum) - (fnum과 snum을 바꿔야 함)
{
int temp = snum; //temp := snum
snum = fnum;//snum := fnum
fnum = temp;//fnum := temp
}
for(int n=1; n<=fnum;n++)//반복(n:= 1->fnum)
{
if(((fnum%n)==0)&& ((snum % n) == 0))//조건(n이 fnum과 snum의 약수이면)
//*fnum을 n으로 나누어서 나머지가 0이면 약수임.
{
Console.WriteLine(n);//n출력
}
}
}
//4. 두 개의 정수를 입력받아 두 수의 범위에 있는 정수의 합을 출력하시오.
private static void ExD()
{
//fnum:= 정수 입력
Console.WriteLine("첫 번째 정수를 입력하세요.");
int fnum = GetNum();
//snum:= 정수 입력
Console.WriteLine("두 번째 정수를 입력하세요.");
int snum = GetNum();
if(fnum > snum)//조건(fnum>snum) - (fnum과 snum을 바꿔야 함)
{
int temp = snum; //temp := snum
snum = fnum;//snum := fnum
fnum = temp;//fnum := temp
}
int sum = 0;//sum:=0
//반복(snum -> fnum)
for(;snum<fnum;snum++)
{
sum += snum;//sum:= snum + snum
}
Console.WriteLine("{0}~{1} 구간의 정수 합계:{2}", fnum, snum, sum);//sum 출력
}
//3. 점수(0~100)를 입력받아 학점을 출력하시오.
private static void ExC()
{
//score:= 성적 입력
Console.WriteLine("성적을 입력하세요.");
int score = GetNum();
int level = 0;
if((score<0)||(score>100))//조건(score가 0보다 작거나 100보다 크면)
{
level = -1;//level:=-1
}
else//아니라면
{
level = score / 10;//level:=score/10
if(level<=5)//조건(level이 5보다 작거나 같으면)
{
level = 0;//level=0
}
}
switch(level)//선택(level값에 따라)
{
case 10:
case 9: Console.WriteLine("A"); break;//10혹은 9일 때: A출력
case 8: Console.WriteLine("B"); break;//8일 때: B출력
case 7: Console.WriteLine("C"); break;//7일 때: C출력
case 6: Console.WriteLine("D"); break;//6일 때: D출력
case 0: Console.WriteLine("F"); break;//0일 때: F출력
default: Console.WriteLine("Not Support"); break;//기타: Not Support 출력
}
}
//2. 한 개의 정수를 입력받아 짝수인지 홀수인지 출력하시오.
private static void ExB()
{
//num := 정수를 입력
Console.WriteLine("정수를 입력하세요.");
int num = GetNum();
if(num%2 == 0)//조건(num을 2로 나누었을 때 나머지가 0이면)
{
Console.WriteLine("짝수입니다.");//"짝수" 출력
}
//아니면
{
Console.WriteLine("홀수입니다.");//"홀수" 출력
}
}
//1. 두 개의 정수를 입력받아 큰 수를 출력하시오.
private static void ExA()
{
//num1 := 첫 번째 정수를 입력
Console.WriteLine("첫 번째 수를 입력하세요.");
int num1 = GetNum();
//num2 := 두 번째 정수를 입력
Console.WriteLine("두 번째 수를 입력하세요.");
int num2 = GetNum();
int big = 0;
if(num1<num2)//조건(num1<num2)
{
big = num2;//big := num2
}
else //아니면
{
big = num1;//big := num1
}
Console.WriteLine("{0}과 {1}중에 큰 수는 {2}", num1, num2, big);//big 출력
}
private static int GetNum()
{
int i = 0;
string value = Console.ReadLine();
i = int.Parse(value);
return i;
}
}
}
'언어 자료구조 알고리즘 > 프로그래밍 실습' 카테고리의 다른 글
[NCS 실습] 프로그래밍 언어 활용 - 라이브러리 활용하기 (0) | 2018.10.04 |
---|---|
[NCS 실습] 프로그래밍 언어 활용 - C# 언어 특징 활용하기 (0) | 2018.09.20 |
[C# 실습] 인덱서 정의 예제 소스 코드 (0) | 2018.09.12 |
[C# 기본 문법 활용하기] 프로그래밍 언어 활용 실습 - 포트폴리오 (0) | 2018.09.05 |
[C# 실습 설명] 제어문 - 메뉴 출력 및 선택 반복하기 (0) | 2018.08.31 |
[C# 실습 설명] 제어문 - 범위 내의 정수 합계 구하기 (0) | 2018.08.31 |
[C# 실습 설명] 제어문 - 점수(0~100)를 입력받아 학점을 출력 (0) | 2018.08.31 |
[C# 실습 설명] 제어문 - 입력받은 정수가 짝수인지 홀수인지 판별하기 (0) | 2018.08.30 |
[C# 실습 설명] 제어문 - 두 개의 정수를 입력받아 큰 수 출력 (0) | 2018.08.30 |
[C# 문법 실습] 제어문 시작하기 (0) | 2018.08.30 |