- 论坛徽章:
- 2
|
本帖最后由 jeasun 于 2010-08-18 18:51 编辑
- #include <stdio.h>
- int main()
- {
- int i = 0;
- int j = 0;
- int w = 116;
-
- /* (1) c=0, a,b>0, 12a+7b = w */
- for (i = 0; i <= w/7+1; i++) {
- for (j = 0; j <= w/12+1; j++) {
- if ((7*i + 12*j) == w) {
- printf("7*%d+12*%d=%d", i, j, w);
- return 0;
- }
- }
- }
-
- /* (2) b=0, a,c>0, 12a+5c = w */
- for (i = 0; i <= w/5+1; i++) {
- for (j = 0; j <= w/12+1; j++) {
- if ((5*i + 12*j) == w) {
- printf("5*%d+12*%d=%d", i, j, w);
- return 0;
- }
- }
- }
-
- /* (3) a=0, b*c<0, 7b+5c = w ; 2 = 7-5 */
- for (i = 1; ; i++) {
- for (j = -1; ; j--) {
-
- if ((7*i + 5*j) < 0)
- {
- break;
- }
- if (((7*i + 5*j) == w) && i*j < 0) {
- printf("7*(%d)+5*(%d)=%d", i, j, w);
- return 0;
- }
- else if (((5*i + 7*j) == w)&& i*j < 0)
- {
- printf("5*(%d)+7*(%d)=%d", i, j, w);
- return 0;
- }
- }
- }
- puts("can't find suit a,b,c"); /* can’t reach here.*/
- return 1;
- }
复制代码 |
|