问题描述
小蓝有 k 种卡片, 一个班有 n 位同学, 小蓝给每位同学发了两张卡片, 一 位同学的两张卡片可能是同一种, 也可能是不同种, 两张卡片没有顺序。没有 两位同学的卡片都是一样的。
给定 n, 请问小蓝的卡片至少有多少种?
输入格式
输入一行包含一个正整数表示 n 。
输出格式
输出一行包含一个整数, 表示答案。
样例输入
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) 。
评测用例规模与约定
对于 50的评测用例, 1≤n≤1000 。
对于所有评测用例, 1≤n≤1000000 。
运行限制
最大运行时间:1s
最大运行内存: 256M
解题思路
写纸上,找规律
n | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
k | 1 | 2 | 2 | 3 | 3 | 3 | 4 | 4 |
思路分析
将n作为外层循环的次数,然后将k作为外层循环跳过的次数
完整代码
import java.util.Scanner;
/**
* @author library
*/
public class Main {
public static void main(String[] args) {
int n = new Scanner(System.in).nextInt();
int num = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < num; j++) {
i++;
}
num++;
}
System.out.println(num);
}
}