码迷,mamicode.com
首页 > 其他好文 > 详细

8.1 不定方程问题

时间:2016-07-19 20:51:33      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:

8-1 buychicken1.c

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int x,y,z;
 5     for(x=0;x<=20;x++)
 6     {
 7         for(y=0;y<=33;y++)
 8         {
 9             z=100-x-y;
10             if (z%3==0 &&x*5+y*3+z/3==100)
11                 printf("公鸡:%d,母鸡:%d,小鸡:%d\n",x,y,z);
12         }
13     }  
14     getch();
15     return 0;
16 }

8-2 buychicken2.c

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int x,y,z,k;
 5     for(k = 0; k <= 3; k++)
 6     {
 7         x=4*k;
 8         y=25-7*k;
 9         z=100-x-y; 
10         printf("公鸡:%d,母鸡:%d,小鸡:%d\n", x, y, z);
11     }
12     getch();
13     return 0;
14 }

8-3 bank.c

 1 #include <stdio.h>
 2 int main()
 3 {
 4     double rate[7];//保存6种整存整取的利率(活期、3月、半年、一年、二年、三年、五年) 
 5     double money,total,temp;//计划存入金额
 6     int month,j; //计划存钱的总月数 
 7     int y5,y3,y2,y1,y01,y02,y03;//分别表示使用不同档存钱的次数
 8     int timer[7];//保存各档存的次数 
 9     /*
10     printf("活期的年利率:");
11     scanf("%lf",&rate[0]);
12     printf("整存整取3月期的年利率:");
13     scanf("%lf",&rate[1]); 
14     printf("整存整取半年期的年利率:");
15     scanf("%lf",&rate[2]); 
16     printf("整存整取1年期的年利率:");
17     scanf("%lf",&rate[3]); 
18     printf("整存整取2年期的年利率:");
19     scanf("%lf",&rate[4]);                 
20     printf("整存整取3年期的年利率:");
21     scanf("%lf",&rate[5]); 
22     printf("整存整取5年期的年利率:");
23     scanf("%lf",&rate[6]);
24     */
25     rate[0]=0.36;
26     rate[1]=1.71;
27     rate[2]=1.98;
28     rate[3]=2.25;
29     rate[4]=2.79;
30     rate[5]=3.33;
31     rate[6]=3.6;
32     printf("存款总数:");
33     scanf("%lf",&money);
34     printf("存款总月数:");
35     scanf("%d",&month);     
36     for(j=0;j<=6;j++)
37         rate[j]=rate[j]/12/100; 
38     total=money;
39     y5=0;
40     do{
41         y3=0;
42         do{
43             y2=0;
44             do{
45                 y1=0;
46                 do{
47                   y01=0;
48                   do{
49                       y02=0;
50                       do{
51                           y03=month-60*y5-36*y3-24*y2-12*y1-6*y01-3*y02;//剩余月数 按活期计息 
52                           if(y03<0) break; //若存款月份超过总月数,则跳出本层循环 
53                           temp=money*pow(1+rate[1]*3,(double)y02)
54                                      *pow(1+rate[2]*6,(double)y01)
55                                      *pow(1+rate[3]*12,(double)y1)
56                                      *pow(1+rate[4]*12*2,(double)y2)
57                                      *pow(1+rate[5]*12*3,(double)y3)
58                                      *pow(1+rate[6]*12*5,(double)y5)
59                                      *pow(1+rate[0],(double)y03);
60                           if(temp>total)
61                           {
62                               total=temp;
63                               timer[0]=y03;
64                               timer[1]=y02;
65                               timer[2]=y01;
66                               timer[3]=y1;
67                               timer[4]=y2;
68                               timer[5]=y3;
69                               timer[6]=y5;                              
70                           }
71                           y02++; //增加一次3月期 
72                       }while(y02<=(month-y5*60-y3*36-y2*24-y1*12-y01*6)/3);
73                       y01++;//增加1次半年期 
74                   }while(y01<=(month-y5*60-y3*36-y2*24-y1*12));
75                   y1++;//增加1次1年期                
76                 }while(y1<=(month-y5*60-y3*36-y2*24)/12);
77                 y2++;//增加1次2年期 
78             }while(y2<=(month-y5*60-y3*36)/24);
79             y3++; //增加1次3年期 
80         }while(y3<=(month-y5*60)/36);
81         y5++;                        //增加1次5年期
82     }while(y5<=month/60);
83     printf("总金额:%.2lf,共存%d月,可按以下方式进行转存,本利合计:%.2lf\n",money,month,total);
84     printf("5年期存%d次\n",timer[6]);
85     printf("3年期存%d次\n",timer[5]); 
86     printf("2年期存%d次\n",timer[4]);
87     printf("1年期存%d次\n",timer[3]);
88     printf("半年期存%d次\n",timer[2]);
89     printf("3月期存%d次\n",timer[1]);
90     printf("活期存%d次\n",timer[0]);
91     getch();
92     return 0;               
93 }

8-4 ladder.c

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int ladder=7;    
 5     while(1)
 6     {
 7         if((ladder%2==1) && (ladder%3==2) && (ladder%5==4) && (ladder%6==5))
 8             break;
 9         ladder+=7;    
10     }
11     printf("该阶梯至少有%d阶。\n",ladder); 
12     getch();
13     return 0;
14 }

 

8.1 不定方程问题

标签:

原文地址:http://www.cnblogs.com/wozixiaoyao/p/5686027.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!