C++金币

题目描述

乔治在梦中来到了一个神奇部落,这个部落的神树具有奇特的功能:对于 每一位新朋友,都会获赠金币,而且金币的数量会随时间的延续而增加: 第 1 周,每天 1枚金币; 第 2 周,每天 2枚金币; 第 3 周,每天 3枚金币;⋯⋯ 请问:至少多少天,乔治的金币数量达到 n 枚? 

输入描述

一行,只有一个正整数 n。 

输出描述

一行,一个整数,表示金币达到 n 枚所需的最少天数。 

样例

输入

30

输出

17

提示

【样例说明】
第 1 周:每天 1 枚,共 7 枚;
第 2 周:每天 2 枚,共 14 枚; 第 3 周:每天 3 枚,3 天即可: 7+14+3*3=30 。
共计: 7+7+3 = 17 天。
【数据规模】
对于 30%的数据, n 不超过 2147483647 ; 对于 100%的数据, n 的位数不超过 18。

AC代码

#include<bits/stdc++.h>
using namespace std;
long long n,cnt,t;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=7;j++){
			cnt+=i;
			t++;
			if(cnt>=n){
				cout<<t;
				return 0;
			}
		}
	}
	return 0;
}

 

您可以通过在C++中使用一个二维数组来表示游戏场景,并在玩家拾取金币后将其标记为已经被拾取,从而实现金币在拾取后消失的效果。以下是一个简单的示例代码: ```cpp #include <iostream> #include <vector> // 定义游戏场景的大小 const int ROWS = 5; const int COLS = 5; // 定义金币的表示 const char COIN = 'O'; const char EMPTY = '-'; // 定义玩家的位置 struct Position { int row; int col; }; // 在游戏场景中打印当前状态 void printScene(const std::vector<std::vector<char>>& scene) { for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { std::cout << scene[i][j] << " "; } std::cout << std::endl; } } // 玩家拾取金币后更新游戏场景 void updateScene(std::vector<std::vector<char>>& scene, const Position& playerPos) { if (scene[playerPos.row][playerPos.col] == COIN) { scene[playerPos.row][playerPos.col] = EMPTY; } } int main() { // 初始化游戏场景 std::vector<std::vector<char>> scene(ROWS, std::vector<char>(COLS, COIN)); // 初始化玩家位置 Position playerPos = {2, 3}; // 打印初始场景状态 std::cout << "初始场景状态:" << std::endl; printScene(scene); std::cout << std::endl; // 玩家拾取金币并更新场景 updateScene(scene, playerPos); // 打印更新后的场景状态 std::cout << "更新后的场景状态:" << std::endl; printScene(scene); return 0; } ``` 在这个示例中,我们使用一个二维字符数组`scene`来表示游戏场景,其中每个元素代表一个位置的状态。初始状态下,所有位置都是金币`COIN`。玩家通过修改自己的位置`playerPos`来拾取金币,并在`updateScene`函数中将拾取的金币标记为已经被拾取,即将对应位置的字符修改为`EMPTY`。 运行上述代码,您将看到初始场景状态和更新后的场景状态。在更新后的场景状态中,玩家所在位置的金币已经消失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值