纯C

循环范围小,直接暴力

#include <stdio.h>

int main()
{
    int n;
    while(scanf("%d", &n)!=EOF)
    {
        for(int i=0; i<=20; i++)
        {
            for(int j=0; j<=33; j++)
            {
                for(int k=0; k<=100; k++)
                {
                    if((3*k + j + i)==100 && (k+3*j + 5*i)==100)
                    {
                        printf("%d %d %d\n", i, j, k*3);
                    }
                }
            }
        }
    }
    return 0;
}

其实把内外循环换一下位置效果会好一些,让外层的大范围包裹内层的小范围。