列表

详情


NC54784. 小民与青蛙

描述

小民家里养了一只青蛙,这只青蛙是小民家的传家宝,从某年开始, 青蛙每年过生日都会点与它岁数相同根数的蜡烛来庆祝。
小民的家谱上记录了今年青蛙的生日结束之后,从古到今总共点了n根蜡烛。
小民想知道青蛙多少岁了。

输入描述

第一行包含一个整数n,含义见题

输出描述

输出一行一个整数,表示青蛙可能的岁数

如果存在多解,请按升序输出所有解,每行一个整数

示例1

输入:

12

输出:

5
12

说明:

3+4+5=12

12=12

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++11(clang++ 3.9) 解法, 执行用时: 326ms, 内存消耗: 480K, 提交时间: 2020-02-16 17:31:24

#include<stdio.h>
int main()
{
	int y,sum,i,j,k,m,n;
	scanf("%d",&n);
	int a[100]={0};
	j=0;
	m=n/2;
	for(i=m+1;i>0;i--)
	{
		y=2*n;
		if(y%i==0)
		{
			y=y/i-i+1;
			if(y>=0&&y%2==0)
			{
				y/=2;
				printf("%d\n",y+i-1);
			}
		}
	}
}

C(gcc 7.5.0) 解法, 执行用时: 244ms, 内存消耗: 384K, 提交时间: 2023-05-11 00:02:55

#include<stdio.h>
int main()
{
	int y,sum,i,j,k,m,n;
	scanf("%d",&n);
	int a[100]={0};
	j=0;
	m=n/2;
	for(i=m+1;i>0;i--){
		y=2*n;
		if(y%i==0){
		 y=y/i-i+1;
		 if(y>=0&&y%2==0) {
		 y/=2;
		 printf("%d\n",y+i-1);
		}
		}
	}
}

上一题