2653 - 自然数
Time Limit : 1 秒
Memory Limit : 128 MB
现在进行一个游戏,目的是为了让同学学习自然数。
在操场上有n个学生,主持者开始念每一个自然数(从1开始)。
每念一个自然数k,将会有k个学生离开操场。当操场上人数不足k个时,主持会重新从1开始念。
假设主持者1秒钟念一个自然数。请你算一算所有学生离开操场要多长时间。
Input
一个整数n(1<=n<=10000)
Output
一个整数t (时间)(注意后面要换行)
Examples
Input Format
4
Output Format
3
Solution C
#include<stdio.h> int times; void dsf(int num) { int i=0; if(num!=0){ while(1) { if((i*i+i)/2>num){ times=times+i-1; num=num-((i-1)*(i-1)+(i-1))/2; break; } i++; } dsf(num); } } int main() { int num; while(scanf("%d",&num)!=EOF){ times=0; dsf(num); printf("%d\n",times); } return 0; }
Solution C++
#include <iostream> using namespace std; int main() { int n,c=0; cin>>n; while(n) { int i=1; while(n>=i) { n-=i; c++; i++; } } cout<<c<<endl; return 0; }