c语言编程计算三角形面积公式 (c语言计算圆)

题目要求:

法国数学家梅齐亚克在他所著的《数字组合游戏》中提出了这样一个问题:一个商人有一个重量为40磅的砝码,一天他不小心将该砝码摔成了4块。商人发现每块砝码的重量都是整磅数,而且每块砝码的重量各不相同,并且发现这四块砝码碎片可以在天平上称出1~40磅之间的任意重量(整磅数,即1磅,2磅……)。问这四块砝码碎片的重量各是多少?

#include "stdio.h"

int getWeight(int i,int j,int k,int s,int weight)
{
    int x1,x2,x3,x4;
    for(x1=-1;x1<=1;x1++)
        for(x2=-1;x2<=1;x2++)
            for(x3=-1;x3<=1;x3++)
                for(x4=-1;x4<=1;x4++)
                if(x1*i+x2*j+x3*k+x4*s == weight)  //存在一组解
                    return 1;
    return 0;
}

int justify(int i,int j,int k,int s)
{
    int weight;
    for(weight=1;weight<=40;weight++)
    {
        if(!getWeight(i,j,k,s,weight))
            return 0;
    }
    return 1;
}
pieces(){
    int i,j,k,s;

    for(i=1;i<=40;i++)
        for(j=i+1;j<=40;j++)
            for(k=j+1;k<=40;k++)
                for(s=k+1;s<=40;s++)
                    if(i+j+k+s==40)
                    {
                        if(justify(i,j,k,s)){
                           printf("The weight is broken up 4 pieces:\n");
                           printf("%d,%d,%d,%d",i,j,k,s);
                        }
                    }
}
main()
{
    pieces();
    getche();
}

运行结果:

c语言计算圆,c语言求指数的算法