C 언어 프로 그래 밍 정수 - 6 주차 프로 그래 밍 문제 온라인 테스트

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

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

int main()
{
    int n, m;
    printf("Input n:");
    scanf("%d", &n);
    if (n < 1000 || n > 1000000)
    {
        printf("Input error!
"
); } else { m = Func(n); printf("%d
"
, m); } return 0; } int Func(int n) { int i, a; for (i = 999; i >= 100; i--) { a = n % i; if (a == 0) break; } return i; }

**
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
입력 알림 정보: "입력 m, n:"
오류 알림 정 보 를 입력 하 십시오: "Input error!"
입력 형식: "% d,% d"
출력 형식: "% d /% d"
형식 오류 가 발생 하지 않도록 제목 에 붙 여 넣 은 형식 문자열 과 알림 정 보 를 프로그램 에 직접 복사 하 십시오.
시간 제한: 500 ms 메모리 제한: 32000 kb
#include 
int Gcd(int a, int b);

int main()
{
    int m, n, a;
    printf("Input m,n:");
    scanf("%d,%d", &m, &n);
    if (n < 1 || n > 10000 || m < 1 || m > 10000)
    {
        printf("Input error!
"
); } else { a = Gcd(m, n); m = m / a; n = n / a; printf("%d/%d
"
, m, n); } return 0; } int Gcd(int a, int b) { int i; i = (a > b) ? a : b; for ( ; i >= 1; i--) { if (((a % i) == 0) && ((b % i) == 0) && (a = b)) break; } return i; }

**
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 m, i, sum = 0;
    printf("Input n:");
    scanf("%d", &m);
    if (m <= 1)
    {
        printf("sum=0
"
); return 0; } else { for (i = 2; i < m+1; i++) { if (IsPrime(i)) sum = sum + i; } printf("sum=%d
"
, sum); } return 0; } int IsPrime(int x) { int i, m = 0; for (i = 2; i < x; i++) { if ((x % i) == 0) m++; } if (m == 0) return 1; else return 0; }

좋은 웹페이지 즐겨찾기