1. 程式人生 > >洛谷網課day1習題題解(1.Peter的煙 2.數字統計 3.金幣)(金幣將單獨發題解)

洛谷網課day1習題題解(1.Peter的煙 2.數字統計 3.金幣)(金幣將單獨發題解)

Peter的煙程式碼及講解:

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
	int n,k;
	/*ans用來儲存問題答案(Peter抽過的煙),b用來儲存Peter的菸蒂,
	q用來儲存Peter手裡的菸蒂可以換的煙。 */ 
	int ans=0,b=0,q=0; 
	cin>>n>>k; 
	ans+=n;//將當前手裡的煙全部抽完。 
	b+=n;//當前手裡的菸蒂數量為之前手裡的煙。 
	while(b-k>=0)//如果手中的菸蒂夠換一支菸,則迴圈繼續。 
	{
		b=b-k;//換完煙後剩餘的菸蒂。 
		ans++;//換完之後抽了。 
		b++;//又多了一根菸蒂。 
	}
	cout<<ans<<endl;
	return 0;
}  

數字統計程式碼及講解:

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
	int a,b,ans=0,n;//n用來儲存分解後的數位。 
	cin>>a>>b;
	for(int i=a;i<=b;++i)//第一輪迴圈的範圍:從a到b。 
	{	
		int m=i;//用一個變數代替i操作,如直接使用i,可能會影響第一輪迴圈。 
		while(m!=0)//while迴圈用來分解數位。 
		{
			n=m%10;
			if(n==2)//如果分解出的數位等於i。 
				ans++;
			m/=10;		
		}					
	}
	cout<<ans<<endl;
	return 0;
}