1004 有解吗?(暴力)

1004: 有解吗?

时间限制: 1 Sec  内存限制: 128 MB
提交: 410  解决: 134
[提交][状态][讨论版]

题目描述

给出方程 a * 1234567 + b * 123456 + c * 1234 = n。其中 a、b、c 均为非负整数变量,n(1 <= n <= 
10 ^ 9)为给出整数常量。判断方程是否有解。 

输入

一个整数 n 

输出

如果有解,输出“YES”;无解,输出“NO”。 

样例输入

1234567

样例输出

YES

提示

双重循环,

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int a = 1234567;
 5 int b = 123456;
 6 int c = 1234;
 7 
 8 int main()
 9 {
10     int n;
11     int i, j;
12     int k1, k2;
13     bool flag;
14     while (~scanf("%d", &n)) {
15         flag = false;
16         for (i = 0; a * i <= n; ++i) {
17             k1 = a * i;
18             for (j = 0; k1 + b * j <= n; ++j) {
19                 k2 = b * j;
20                 if ((n - k1 - k2) % c == 0) {
21                     flag = true;
22                     break;
23                 }
24             }
25             if (flag) {
26                 break;
27             }
28         }
29         if (flag) {
30             printf("YES
");
31         } else {
32             printf("NO
");
33         }
34     }
35     return 0;
36 }
原文地址:https://www.cnblogs.com/gongpixin/p/6790554.html