题解 | #[NOIP2015]金币#
[NOIP2015]金币
https://www.nowcoder.com/practice/8f71f5670e6a45118d24d13868a2da9e
#include <stdio.h> //问题剖析(自我理解用): // 总体上可以分为两个循环,以输入的总天数6为例。6 = 1 + 2 + 3 // | / \ /|\ // 1 2 2 333 // 1 2 3 456 int main() { int day = 0; int sum = 0; int count = 0; scanf("%d", &day); for (int i = 1; count < day; i++) { for (int j = 0; j < i; j++) { sum += i; count++; if (count == day) { break; } } } printf("%d", sum); return 0; } // 两种写法,顺便可以看下goto 和break的区别; //能用break的一定可以用goto,反之不一定 // int main() { // int day = 0; // int sum = 0; // int count = 0; // scanf("%d", &day); // for (int i = 1; i < day; i++) { // for (int j = 0; j < i; j++) { // sum += i; // count++; // if (count == day) { // goto here; // } // } // } // here: // printf("%d", sum); // return 0; // }