計蒜客 T1200 Minecraft

題目鏈接:https://nanti.jisuanke.com/t/T1200

解題思路:因爲立方體的長爲1,所以體積爲1,所以n個立方體組成的長方體的體積就爲n。假設從1開始,枚舉每一個長和寬。如果n%(l*w)則證明可以構成長方體,再求高。然後再求這個長方體的面數。不斷比較面數,輸出面數最少的那一個即可。

#include<iostream>
using namespace std;

int main(){
	int n,l,w,h,min=100000,now;
	cin>>n;
	if(n==1){
		cout<<"6"; 
	}else if(n>=2){
		for(l=1;l<=n;l++){
			for(w=1;w<=n;w++){
				//如果可以構成長方體 
				if(n%(l*w)==0){
					//利用面積求出高h因爲立方體的體積積爲1,所以n個立方體構成的長方體的體積爲n 
					h = n/(l*w);
					//求出一共有多少面
					now = l*w*2 + l*h*2 + w*h*2;
					//不斷記錄最小的面數
					if(now<min){
						min = now;
					} 
				}
			}
		}
		cout<<min;
	}
	return 0;
	
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章