《C언어 및 프로그래밍》 실천 참고 - 귀속 함수

5758 단어
귀환: 하 선생님 수업 링크
【프로젝트-귀속함수】(1) 입방 누가화: 귀속함수로 f(n)=13+23+...+n3, 먼저 f(n) 수학 표현식을 귀속 형식으로 표시한 다음에 프로그램을 짜서 실현하도록 요구한다.[참조 해답] 귀속 공식:
f(n)={1,n3+f(n−1),n=1n>1
참조 프로그램:
#include <stdio.h>
int cube(int n);
int main()
{
    int n;
    scanf("%d",&n);
    printf("f(n)=%d
"
, cube(n)); return 0; } int cube(int n) { if (n==1) return 1; else return n*n*n+cube(n-1); }

(2) 쓰기 1 대 3 대...∗n의 귀속식, 그리고 귀속 함수 구해를 작성합니다.[참조 해답] 귀속 공식:
f(n)={1, n∗f(n−2), n=1n은 1보다 큰 홀수
참조 프로그램:
#include <stdio.h>
long f(int);
int main( )
{
    int n;
    long y;
    printf("  :");
    scanf("%d", &n);
    if(n%2) // 
        y=f(n);
    else
        y=f(n-1);
    printf("%d :%ld
"
, n, y); return 0; } long f(int n) { long s; if (n==1) s=1; else s=f(n-2)*n; return s; }

(3) 프로그램을 짜서 귀속 함수로 두 수의 최대 공약수를 구한다.(main 함수, 정의된 귀속 함수 호출 포함) [참고 해답]
#include <stdio.h>
int gcd(int x, int y);
int main()
{
    int m,n;
    printf(" :");
    scanf("%d %d", &m, &n);
    printf(" :");
    printf("%d
"
, gcd(m,n)); return 0; } int gcd(int a, int b) { int t, g; //if (a < b) t=a,a=b,b=t; // if (b==0) g=a; else g=gcd(b,a%b); return g; }

(4) 프로그램을 짜서 5개의 원소를 가진 실형수 그룹을 읽고 함수를 호출하여 그 중의 최대 원소를 찾아내고 그 위치를 가리킨다.[참조 답변]
#include<stdio.h>
int find(int a[],int n)
{
    int m;
    if(n==0)
        return a[0];
    else
    {
        m=find(a,n-1);
        return (m>a[n]?m:a[n]);
    }

}
int main()
{
    int a[5],i;
    for(i=0; i<5; i++)
        scanf("%d",&a[i]);
    printf("%d",find(a,4));
    return 0;
}

좋은 웹페이지 즐겨찾기