Problem K: 三角形数
Description
古希腊著名科学家毕达哥拉斯把数目为1,3,6,10,15,21……这些数量的石子,都可以排成三角形,像这样的数称为三角形数。例如,前4个三角形数可以排成如下三角形
现在你编程序计算第k个三角形数是什么?
Input
输入若干正整数k,1<=k<=232,至EOF结束。
Output
输出第k个三角形数。
Sample Input
1
2
3
4
Sample Output
1
3
6
10
思路:
这个题卡人测试点,只有用unsigned long long int 才行
int最多60%
long long最多80%
只有unsigned long long int 没有超界
答案:
#include<stdio.h>
int main()
{
unsigned long long int k;
while(scanf("%llu",&k)!=EOF){
if(k%2==0){
printf("%llu\n",(k/2)*(k+1));
}else{
printf("%llu\n",(k+1)/2*k);
}
}
return 0;
}