小学奥数题C语言解法

朋友给我发了一个小学的奥数题,尝试解了一会儿没有找到方法,于是编辑了一个小程序解决了

小学奥数题C语言解法

上面的是题目

下面的是实现的代码,仅做参考

#include <stdio.h>

#ifdef __cplusplus
extern "C"{
#endif

int math(void);

int main(void)
{
    math();

    return 0;
}

int math(void)
{
    int i = 1;
    for(;i<=500;i++)
    {
        int a,b,c;
        int jia,yi,bing,ding;

        a = i/100; /*百位*/
        b = i/10%10;/*十位*/
        c = i%10; /*个位*/

        jia = i%(2*2*2);
        yi  = i%(3*3);
        bing = i% 7;
        ding = a+b+c;

        if((0 == yi)&&(0 == bing)&&(15 == ding))
        {
            printf("甲说谎。。。\n");
            printf("这个数是:%d ,且2a+b-c=%d\n",i,2*a+b-c);
        }
        else if((0 == jia)&&(0 == bing)&&(15 == ding))
        {
            printf("乙说谎。。。\n");
            printf("这个数是:%d ,且2a+b-c=%d\n",i,2*a+b-c);
        }
        else if((0 == jia)&&(0 == yi)&&(15 == ding))
        {
            printf("丙说谎。。。\n");
            printf("这个数是:%d ,且2a+b-c=%d\n",i,2*a+b-c);
        }
        else if((0 == jia)&&(0 == yi)&&(0 == bing))
        {
            printf("丁说谎。。。\n");
            printf("这个数是:%d ,且2a+b-c=%d\n",i,2*a+b-c);
        }
    }

    return 0;
}

#ifdef __cplusplus
}
#endif




最后程序的结果是:

乙说谎。。。
这个数是:168 ,且2a+b-c=0