四葉玫瑰數


        求n(n<10000)以內的所有四葉玫瑰數並逐個存放到result所指的數組中,四葉玫瑰數的個數作為函數值返回。 如果一個4位正整數等於其各個數字的4次方之和,則稱該數為四葉玫瑰數。 例如,1634=1*1*1*1+6*6*6*6+3*3*3*3+4*4*4*4,因此1634就是一個四葉玫瑰數。

 

 

#include<stdio.h>
#pragma warning (disable:4996)
int fun(int n, int result[])
{ 
    int i,j,k=0;
    int a,b,c,d;
    for(i=1000;i<=n;i++)
    {
        a=1;b=1;c=1;d=1;
        for(j=0;j<4;j++)
        {
            a*=i/1000;
            b*=i%1000/100;
            c*=i%1000%100/10;
            d*=i%1000%100%10;
        };
        if(i==a+b+c+d)
        {
            result[k]=i;
            k++;
        }
    }
    return k;
}
main( )
{
    int result[10], n, i;
    void NONO(int result[], int n);
    n = fun(9999, result);
    for(i=0; i<n; i++) printf("%d\n", result[i]);
    NONO(result, n);
}

void NONO(int result[], int n)
{/* 本函數用於打開文件,輸入數據,調用函數,輸出數據,關閉文件。 */
    FILE *fp ;
    int i;

    fp = fopen("..\\out.dat","w") ;
    fprintf(fp, "%d\n", n);
    for(i=0; i<n; i++) fprintf(fp, "%d\n", result[i]);
    fclose(fp);
}

 運行結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM