题目描述
给出方程 a * 1234567 + b * 123456 + c * 1234 = n。其中 a、b、c 均为非负整数变量,n(1 <= n <=
10 ^ 9)为给出整数常量。判断方程是否有解。
10 ^ 9)为给出整数常量。判断方程是否有解。
输入描述
一个整数 n
输出描述
如果有解,输出“YES”;无解,输出“NO”。
输入样例
1234567
输出样例
YES
提示
AC 代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
int main()
{
long long N,i,j;
while(scanf("%lld",&N)!=EOF)
{ if(N<=0) break;
int flag=0;
int m=N/1234567;
for(i=0;i<=m;i++)
{
for(j=0;j<10000;j++)
{
int n=N-1234567*i-123456*j;
if(n<0)
{
break;
}
if(n%1234==0)
{
printf("YES\n");
flag=1;
break;
}
}
if(flag==1)
break;
}
if(!flag)
printf("NO\n");
}
return 0;
}
#include<cstring>
using namespace std;
int main()
{
long long N,i,j;
while(scanf("%lld",&N)!=EOF)
{ if(N<=0) break;
int flag=0;
int m=N/1234567;
for(i=0;i<=m;i++)
{
for(j=0;j<10000;j++)
{
int n=N-1234567*i-123456*j;
if(n<0)
{
break;
}
if(n%1234==0)
{
printf("YES\n");
flag=1;
break;
}
}
if(flag==1)
break;
}
if(!flag)
printf("NO\n");
}
return 0;
}