1.标签:省赛,2022(简单)
2.问题描述
小蓝有 k 种卡片, 一个班有 n 位同学, 小蓝给每位同学发了两张卡片, 一 位同学的两张卡片可能是同一种, 也可能是不同种, 两张卡片没有顺序。没有 两位同学的卡片都是一样的。
给定 n, 请问小蓝的卡片至少有多少种?
3.输入输出描述
输入格式
输入一行包含一个正整数表示 n 。
输出格式
输出一行包含一个整数, 表示答案。
4.示例及限制
样例输入
6
样例输出
3
样例说明
小朋友们手中的卡片可能是: (1,1),(1,2),(1,3),(2,2),(2,3),(3,3)(1,1),(1,2),(1,3),(2,2),(2,3),(3,3) 。
评测用例规模与约定
对于 5050 的评测用例, 1≤n≤10^4。
对于所有评测用例, 1≤n≤10^9 。
运行限制
最大运行时间:1s
最大运行内存: 256M
#include<iostream>
using namespace std;
void kapian(long n)
{
long k=1,k1=0;
for(k=1;k1<n;k++)//从k=1开始判断是否符合条件
{
k1=0;
for(long i=1;i<=k;i++)//从k=1开始,至少的卡牌数量
{ //若卡牌数量小于这个值,则k++
k1+=i; //直到至少卡牌数大于n的值,输出k-1
}
}
cout<<k-1;
}
int main()
{
long n;
cin>>n;
kapian(n);
return 0;
}