제6 주 프로 그래 밍 문제 온라인 테스트

1. 계산 단계 곱 하기 와 v 2.0 (4 점) 문제 내용: 만약 에 이런 세 자릿수 m 가 있다 고 가정 하면 백 자리, 10 자리 와 한 자리 숫자 는 각각 a, b, c 이 고 만약 에 m = a! +b!+c!,이 세 자 리 를 세 자리 곱 하기 와 수 (약속 0! = 1) 라 고 한다.모든 세 개의 곱셈 과 수 를 프로 그래 밍 하고 출력 하 십시오.함수 원형: long Fact (int n);함수 기능: n 의 단계 입력 형식 을 계산 합 니 다. 출력 형식 이 없습니다. "% d" 형식 오류 가 발생 하지 않도록 제목 에 붙 여 넣 은 형식 문자열 과 알림 정 보 를 프로그램 에 직접 복사 하 십시오.시간 제한: 500 ms 메모리 제한: 32000 kb
#include
long Fact(int n);
int main()
{
 long a; 
 int i;
 int n, m, b;
 for (i = 100; i < 1000; i++)
 {
  n = i / 100; b = (i - n*100) / 10; m = i % 10;
  if (Fact(n) + Fact(m) + Fact(b) == i)
   printf("%d", i);
 }
 return 0;
}
long Fact(int n)
{
 int i;
 long sum;
 sum = 1;
 for (i = 1; i <= n; i++)
 {
  sum *= i;
 }
 return sum;
}

2. 가장 큰 세 자리 약수 (4 점) 를 계산 하 는 문제 내용: 키보드 에서 n (1000 < = n < = 1000000) 을 임의로 입력 하고 n 의 모든 약수 중 가장 큰 세 자리 (즉 가장 큰 세 자리 약수) 를 프로 그래 밍 하여 출력 합 니 다.n 이 1000 보다 작 거나 1000000 보다 크 면 'Input error!' 를 출력 합 니 다.함수 원형: int Func (int n);함수 기능: n 을 계산 하 는 모든 약수 중 가장 큰 세 자리 프로그램 실행 결과 예시 1: Input n: 55555↙777 프로그램 실행 결과 예시 2: Input n: 1000↙500 프로그램 실행 결과 예시 3: Input n: 800↙Input error! 입력 알림 정보: "Input n:" 입력 오류 알림 정보: "Input error!" 입력 형식: "% d" 출력 형식: "% d" 형식 오류 가 발생 하지 않도록 제목 에 붙 여 넣 은 형식 문자열 과 알림 정 보 를 프로그램 에 직접 복사 하 십시오.시간 제한: 500 ms 메모리 제한: 31kb
#include
int main()
{
 long n;printf("Input n:");
 scanf("%ld",&n);
 
 if(n<1000||n>1000000)
 {
  printf("Input error!
"
); } else { for (int i = 999; i >= 100; i--) { if (n%i == 0) { printf("%d
"
, i); break; } } } return 0; }

3 공 융 분 리 (4 점) 제목 내용: 공 융 은 형제자매 가 없어 주말 이면 사촌 공명, 사촌 누나 공 여, 사촌 동생 공 웨 이 등 7 명의 사촌 남 매 를 찾 아 집 으로 놀 러 온다.공 융 엄마 가 배 8 개 를 사서 아이들 에 게 먹 였 더 니 작은 황 개 동 동 동 은 장난 으로 하 나 를 물 어 갔 고 큰 꽃 고양이 흠 흠 흠 은 몰래 하 나 를 숨 겼 다.공 융 이 가 남 은 배 6 개 를 빼 앗 자 엄 마 는 그 를 멈 추고 모두 와 똑 같이 나 누 어 먹 겠 다 고 말 했다.공 융 이 는 8 명 이 배 6 개 를 어떻게 나 눠?엄 마 는 점수 로 이 문 제 를 해결 할 수 있다 고 말씀 하 셨 다.공 용 학 은 점 수 를 배 워 서 배 한 개 에 8 개 씩 똑 같은 조각 을 썰 고 6 개 씩 가 져 가면 된다 고 말 했다.엄 마 는 그렇게 많이 썰 지 않 아 도 된다 며 배 마다 똑 같은 덩어리 4 개 를 썰 고 3 개 씩 가 져 가면 딱 좋다 고 말씀 하 셨 다.공 융 이 가 헷 갈 렸 다.공명 이 말 했다. 내 가 가르쳐 줄 게.그래서 공명 은 공 융 에 게 점 수 를 간소화 해 주 었 다.점수 화 는 가장 간단 한 형식 으로 간략화 할 수 있다. 예 를 들 어 12 / 20 은 6 / 10 과 3 / 5 로 간략화 할 수 있 지만 3 / 5 는 가장 간단 한 형식 이다.100 / 8 은 50 / 4 와 25 / 2 로 간략화 할 수 있 으 며 25 / 2 는 가장 간단 한 형식 이다.난이 도 를 낮 추기 위해 서 는 가짜 점수 (예 를 들 어 7 / 2) 를 띠 점수 (3) 형식 으로 간소화 하 라 고 요구 하지 않 는 다.공 융 이 임의의 점 수 를 가장 간단 한 형식 으로 간략화 하 는 것 을 도와 주 십시오.먼저 키보드 에서 두 개의 정수 m 와 n (1 < = m, n < = 10000) 을 입력 하 는데 그 중에서 m 는 분 자 를 나타 내 고 n 은 분 모 를 나타 낸다.그리고 출력 점수 화 간소화 후의 가장 간단 한 형식.함수 원형: int Gcd (int a, int b);함수 기능: a 와 b 의 최대 공약수 계산, 입력 데이터 가 유효 범 위 를 초과 할 때 되 돌아 오기 - 1.프로그램의 실행 결과 예시 1: Input m, n: 8, 14↙4 / 7 프로그램의 실행 결과 예시 2: Input m, n: - 13, 31↙Input error! 프로그램의 실행 결과 예시 3: Input m, n: 7, 0↙Input error! 프로그램의 실행 결과 예시 4: Input m, n: 210, 35↙6 / 1 입력 알림 정보: "Input m, n:" 입력 오류 알림 정보: "Input error!" 입력 형식: "% d,% d" 출력 형식: "% d /% d" 형식 오류 가 발생 하지 않도록 제목 에 붙 여 넣 은 형식 문자열 과 알림 정 보 를 프로그램 에 직접 복사 하 십시오.시간 제한: 500 ms 메모리 제한: 32000 kb
#include
int Gcd(int a, int b);
int main()
{
	
	int a, b,l;
	printf("Input m,n:");
	scanf("%d,%d", &a, &b);
	if (Gcd(a,b) != -1)
	{
		printf("%d/%d
"
, a / Gcd(a,b), b / Gcd(a,b)); } else { printf("Input error!
"
); } return 0; } int Gcd(int a, int b) { int i; if (a > b)i = b; else i = a; if (a >= 1 && b <= 10000) { for (i; i > 0; i--) { if (a%i == 0 && b%i == 0) return i; } } else return -1; }

4. 소수 구 화 (4 점) 제목 내용:
키보드 에서 정수 n 을 임의로 입력 하고 1 ~ n 사이 의 모든 소수 합 을 프로 그래 밍 하여 출력 합 니 다.함수 원형: int IsPrime (int x);함수 기능: x 가 소수 인지 판단 하고 함수 가 0 으로 돌아 가면 소수 가 아니 라 1 로 돌아 가면 소수 임 을 나타 낸다.
프로그램 실행 결과 예시 1:
Input n:8↙ sum=17
프로그램 실행 결과 예시 2:
Input n:10↙ sum=17
프로그램 실행 결과 예시 3:
Input n:-12↙ sum = 0 입력 알림 정보: "Input n:" 입력 형식: "% d" 출력 형식: "sum =% d" 형식 오류 가 발생 하지 않도록 제목 에 붙 여 넣 은 형식 문자열 과 알림 정 보 를 프로그램 에 직접 복사 하 십시오.시간 제한: 500 ms 메모리 제한: 32000 kb
#include
int IsPrime(int x);
int main()
{

	int a;
	int sum = 0;
	printf("Input n:");
	scanf("%d", &a);
	if (a <= 1)
		printf("sum=%d
"
, sum); else { sum = 2; for (int o = 3; o <= a; o++) { if (IsPrime(o) == 1) { sum += o; } } printf("sum=%d
"
, sum); } return 0; } int IsPrime(int x) { int i;int p = 0; if (x <= 1) { return 0; } else { for (i = 2; i < x; i++) { if (x%i == 0) { p++; } } } if (p == 0) return 1; else return 0; }

좋은 웹페이지 즐겨찾기