2016藍橋杯省賽B組第一題
有一堆煤球,堆成三角棱錐形。
具體:第一層放1個,
第二層3個(排列成三角形) ,
第三層6個(排列成三角形),
第四層10個(排列成三角形),
如果一共有100層,共有多少個煤球?
請填表示煤球總數目的數字。
注意:你提交的應該是一個整數,不要填寫任何多餘的內容或說明性文字。
#include<iostream>
using namespace std;
int main()
{
int i;
int sum = 0 ;
for(i = 1 ; i<=100;i++)
{
sum = sum + i*(i+1)/2;
}
cout<< sum;
return 0;
}
輸出結果:171700
第二種方法:
#include<iostream>
using namespace std;
int main()
{
int sum = 0, tmp = 0;
for (int i = 0 ; i <= 100 ; i++)
{
tmp += i;
sum += tmp;
}
cout<<sum<<endl;
return 0;
}
小題一道
兩個整數做除法,有時會產生循環小數,其循環部分便稱爲循環節。
比如:11/13 = 0.846153846153…其循環節長度爲6位
樣例輸出:
11 13
樣例輸出:
6
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int f(int n,int m)
{
n = n % m ;
vector<int> v; // 不限定長度,用來存儲循環節
for(;;)
{
v.push_back(n);
n *= 10;
n = n % m;
if(n==0)
return 0;
if(find(v.begin(),v.end(),n)!=v.end())
{
return (int)(v.end()-find(v.begin(),v.end(),n));
}
}
}
int main()
{
int n,m;
cin>>n>>m;
cout<<f(n,m)<<endl;
return 0;
}