Q8_16:

#include<stdio.h>

int main()
{
    int find_k(int);
    int n;
    printf("Input N:");
    scanf("%d",&n);
    printf("K is %d.\n",find_k(n));   //將n的值傳入find_k(),其回傳值為k
    return 0;
}

int find_k(int n)
{
    int k;
    k=n/4;
    return k;      
}



此題中若N=4的倍數,則會出現兩個k可以滿足答案,因此可利用下列程式碼判斷其是否有兩個k

#include<stdio.h>

int main()
{
    int find_k(int);
    void judge_k(int,int);
    int n,k;
    printf("Input N:");
    scanf("%d",&n);
    k=find_k(n);
    printf("K is %d.\n",k);
    judge_k(n,k);
    return 0;
}

int find_k(int n)
{
    int k;
    k=n/4;
    return k;
}

void judge_k(int n,int k)
{
    if((4*k+2)-n == n-(4*(k-1)+2))
    {
        printf("While N=%d, k = %d or %d,the distance will be the same.\n",n,k,k-1);
    }
    else
    {
        printf("While N=%d, K = %d is a unique result.\n",n,k);
    }
}

創作者介紹
創作者 LearningNote 的頭像
nanosheep

LearningNote

nanosheep 發表在 痞客邦 留言(0) 人氣( 310 )