aX+bY+cZ=n(非负整数解存在性)

题意:

a*1234567+b*123456+c*1234=n
非负整数解得存在性。

题解:

看代码。
#include<iostream>
#include<cstdio>
using namespace std;
void fun(int n)
{
    int k=n/1234567+1;
    for(int i=0;i<k;i++)
        for(int j=0;;j++){
            int c=n-i*1234567-j*123456;
            if(c<0) break;
            if(c%1234==0){
                printf("YES\n");
                return ;
            }
        }
    printf("NO\n");
}
int main ()
{
    int n;
    while(~scanf("%d",&n)){
        fun(n);
    }
    return 0;
}
posted @ 2016-06-15 21:27  _Mickey  阅读(985)  评论(0编辑  收藏  举报