2653 - 自然数

现在进行一个游戏,目的是为了让同学学习自然数。

在操场上有n个学生,主持者开始念每一个自然数(从1开始)。

每念一个自然数k,将会有k个学生离开操场。当操场上人数不足k个时,主持会重新从1开始念。

假设主持者1秒钟念一个自然数。请你算一算所有学生离开操场要多长时间。

题目输入

一个整数n1<=n<=10000

题目输出

一个整数t (时间)(注意后面要换行)

输入/输出样例

题目输入

4

题目输出

3

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;
}

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;
}
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题