6 条题解
-
-1
</span>#include<bits/stdc++.h> using namespace std; int main(){ // 天数,输入数 int n; cin >> n; // 每天给的金币数,从1开始模拟 int k=1; //1 // 金币总数,从0开始模拟 int result=0; while(n>0){ // k金币数同时表示发放该k数金币的天数,k天发放k^2枚金币 if(n>=k){ //2 // 天数与金币数的关系就是连续1天发1个,连续2天,发2个;连续3天,发3个 // 如果n天数大于金币数。 n-=k; //3 result+=k*k; k++; }else{ result+=k*n; n-=k; //4 } //5 } cout << result; return 0; }
-
-1
a=int(input()) k=[] s=0 d=1 #二阶等差数列需要两个变量:(s3-s2)-(s2-s1)=d(定值) while s<a: s+=d d+=1 k.append(s) s=0 d=1 for i in range(1,a+1): s+=d if i in k: #涨工资 d+=1 print(s)
[题解 - [入门][NOIP2015 普及组] 金币 - 核OJ_核桃编程 (hetao101.com)](https://)
- 1
信息
- ID
- 517
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 3
- 标签
- 递交数
- 122
- 已通过
- 69
- 上传者