광롄다 2018 교필시험

2055 단어 필기시험 문제
광연달 현장 필기시험에서 시간이 없고 종이도 없는데 프로그램의 오류를 발견했다...
첫 번째 문제: N 하나를 입력하고 1-2+3-4+5-6+7 출력...N의 값.
int fun(int num)
{
	if(num <= 0)
		return 0;
	int sum = 0;
	for(int i = 1; i <= num; ++i)
	{
		if(i & 1)
			sum += i;
		else
			sum -= i;
	}
	return sum;
}
void main()
{
	int n;
	cin>>n;
	cout<
두 번째 문제: 수조가 인접한 숫자의 절대값은 1이고 첫 번째 지정된 숫자가 나타나는 위치를 찾습니다. 예를 들어 1, 2, 3, 4, 5, 6, 6, 6, 6, 7, 8, 9는 7을 찾고 7을 되돌려줍니다.
int Fun(int *ar,int len,int num)
{
	for(int i = 0; i < len;)
	{
		//int tmp = ar[i] > num ? ar[i] - num : num - ar[i];
		int tmp = abs(ar[i]-num);
		if(tmp == 0)
			return i+1;
		i += tmp;
	}
}
void main()
{
	int ar[] = {2,3,4,3,2,1,2,3,4,5,6,7,8,9,10,9,8,7,8,7,6,5,6,7,8};
	int num;
	cin>>num;
	int len = sizeof(ar)/sizeof(ar[0]);
	cout<
세 번째 문제: 비음수 그룹을 정하고 이 그룹의 위치의 값은 최대 점프 가능한 개수를 대표하며 마지막 위치로 옮길 수 있는지 구한다.
bool fun(int *ar,int start,int end)
{
	if(start == end)
		return true;
	for(int i = 1; i <= ar[start]; ++i)
	{
		return fun(ar,start+i,end);
	}
	if(start > end)
		return false;
}
bool fun(int *ar,int len)
{
	if(ar == NULL || len <= 0)
		return false;
	return fun(ar,0,len-1);
}
void main()
{
	int ar[] = {3,2,1,0,4};
	int len = sizeof(ar)/sizeof(ar[0]);
	if(fun(ar,len))
		cout<
넷째, 문자열의 서브셋을 인쇄할 문자열을 입력합니다.
void Perm(string &st,int i)
{
	int k = 0;
	while(i)
	{
		if(i & 1)
			cout<>= 1;
		k++;
	}
	cout<>st;
	Perm(st);
}
다섯째, 한 상자에 정해지지 않은 흰 공과 검은 공이 있는데 매번 두 개의 작은 공을 꺼내고 색깔이 같으면 검은 공을 넣는다. 그렇지 않으면 흰 공을 넣는다.공을 다 뽑을 수 있다는 것을 검증하고 마지막 남은 공의 색깔과 시작할 때의 흑백구의 수량 관계를 설명해 주십시오.
이것은 나도 비슷해서 여러분 앞에서 도끼질을 하지 않겠습니다.
----------------------------------------------------------------------------
처음에 말한 그런 괴로움 외에 또 다른 괴로움이 있다. 바로 블로그를 돌아와서 하나하나 자신의 프로그램의 오류를 발견하는 것이다.

좋은 웹페이지 즐겨찾기