程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> c語言:2種方法編程及優化;喝汽水問題

c語言:2種方法編程及優化;喝汽水問題

編輯:關於C語言

c語言:2種方法編程及優化;喝汽水問題


方法一: 程序:
#include<stdio.h>
int main()
{
   int i=0;//i表示money
   int j=0;//j表示空瓶子
   int sum=0;//sum喝汽水總瓶數
   scanf("%d",&i);
   sum=i;
   j=i;
   while(j>=2)
   {
    sum=sum+j/2;
    j=j%2+j/2;
   }
   printf("%d\n",sum);
  
 return 0;
}

 

方法二:(優化) 程序:
#include<stdio.h>
int main()
{
   int i=0;//i表示money
   int j=0;//j表示空瓶子
   int sum=0;//sum喝汽水總瓶數
   scanf("%d",&i);
   sum=2*i-1;
   //20個瓶子,假設最後一個空瓶子,老板借一個,則可以喝39+1=40瓶
   //其原理等價於喝20瓶,找老板借20個空瓶子,喝完再還,共喝2*20=40瓶
   //綜上,假設最後一空瓶不給借,則可以喝2*n-1瓶
   printf("%d\n",sum);
  
 return 0;
}

 

    結果: 20 39                    Press any key to continue  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved