杭电oj 1001题
#include
using namespace std ;
#include <iostream>
using namespace std ;
int main (){
int num2 ;
int sum = 0 ;
int num = 0 ;
while ( cin >> num2 ){
while( num <= num2 ){
sum += num ;
num++ ;
}
cout << sum << endl << endl ;
}
system ("pause") ;
return 0 ;
}
我这提交的时候是错的
我不知道我这哪里有问题
system ("pause") ;这行删掉
第一层while循环里,sum、num没有归零
#include <iostream>
using namespace std ;
int main (){
int num2 ;
while ( cin >> num2 ){
int sum=0;
int num=0;
while( num <= num2 ){
sum += num ;
num++ ;
}
cout << sum << endl << endl ;
}
return 0 ;
}
另外,acm不仅要求编程技巧,同时也要求数学知识。这题可以用等差数列求和公式:s=n(n+1)/2,这样执行时间更短。
#include <iostream>
using namespace std ;
int main (){
int n ;
while ( cin >> n ){
cout << n*(n+1)/2 << endl << endl ;
}
return 0 ;
}