H2430821055


私信TA

用户名:dotcpp0790506

访问量:141

签 名:

摆烂大王

等  级
排  名 1691
经  验 2703
参赛次数 5
文章发表 5
年  龄 0
在职情况 学生
学  校 HZ University
专  业

  自我简介:

别卷我了微距了(T〰T)

简单的for嵌套是无法解决的,我们需要加入一些判断才能解决。

#include<stdio.h>
#include<stdlib.h>
int main(){
int n,coins=0,day=0;//n是总天数,coins是金币,day是发金币天数
scanf("%d",&n);
int* a=(int*)malloc(sizeof(int)*(n+1)); // 分配内存
   if(a==NULL){ // 检查内存分配是否成功
       return 1;
   }
//初始化
for(int i=0;i<=n;++i){
    a[i]=0;
}

for(int i=1;i<=n;++i){//这里控制发放的金币数量
     for(int j=1;j<=i;++j){//i个金币应发放j天
         a[i]+=i;
         if((++day)==n){//当发金币天数与总天数相等时停止发金币  
             for(int k=1;k<=n;++k){// 计算骑士应得报酬,因为我们没有使用a[0],所以从a[1]开始
             coins+=a[k];
           }
     printf("%d\n",coins);
     free(a);//释放内存
     return 0;
    }
   }
  }
free(a);
return 0;
}


 

0.0分

3 人评分

  评论区

2024-11-06 23:27:22
有实力
2024-11-06 17:10:43
  • «
  • 1
  • »