C语言分苹果_数据结构:使用C语言

C语言分苹果_数据结构:使用C语言1、题目描述果园里有堆苹果,N(1<N<9)只熊来分。第一只熊把这堆苹果平均分为N份,多了一个,它把多的一个扔了,拿走了一份。第二只熊把剩下的苹果又平均分成N份,又多了一个,它同样把多的一个扔了,拿走了一份,第三、第四直到第N只熊都是这么做的,问果园里原来最少有多少个苹果?示例和说明如下:2、解题思路我的方法很简单就是从最小的可能的数开始,一个一个尝试,满足了测试的要求之后

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1、题目描述

果园里有堆苹果,N(1<N<9)只熊来分。第一只熊把这堆苹果平均分为N份,多了一个,它把多的一个扔了,拿走了一份。第二只熊把剩下的苹果又平均分成N份,又多了一个,它同样把多的一个扔了,拿走了一份,第三、第四直到第N只熊都是这么做的,问果园里原来最少有多少个苹果?

示例和说明如下:

C语言分苹果_数据结构:使用C语言

2、解题思路

我的方法很简单就是从最小的可能的数开始,一个一个尝试,满足了测试的要求之后,就退出循环把这个符合条件的值给找出来,因为是从最小的可能的数开始尝试那么符合条件的肯定就是最小的值了。

3、算法实现

#include <stdio.h>

int main()
{
	int n;
	fscanf(stdin, "%d", &n);	/* 输入熊的个数 */

	int i, temp;
	int cnt;
	int old;

	/* 从第二个数开始找,一直找到合适的数之后推出这个for循环 */
	for(i = 2; ; i++)
	{
		cnt = 0;
		temp = i; old = temp;	/* 保存每一次的结果如果满足条件就把这个结果输出 */
		while((temp%n == 1)&&(temp>0))
		{
			cnt++;
			temp = temp - temp/n - 1;
		}
		if(cnt == n)
		{
			break;
		}
	}

	fprintf(stdout, "%d", old);

	return 0;
}

附加:

在网上找到的一个高手的解法,具体解题思路目前还不是很清楚,先把代码粘贴出来吧,
如果有知道具体的解题思路可以在文章下面给我留言,本人将感激不尽

#include <stdio.h>

int main()
{
	int n;
	fscanf(stdin, "%d", &n);

	int i;
	int apple = 1;
	for(i = 0; i < n; i++)
	{
		apple = apple*n;
	}

	fprintf(stdout, "%d", apple - n + 1);

	return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183664.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IDEA修改背景颜色大全(护眼绿等)

    IDEA修改背景颜色大全(护眼绿等)一.IDEA默认有3种背景颜色路径为File->settings->Editor->ColorScheme可以设置软件默认颜色,旁边的小齿轮添加颜色名字二.IDEA扩展颜色(护眼绿)第一种方法:IDEA设置一张背景图片,路径:File->Settings->Appearance&Behavior->Appearance第…

    2022年6月20日
    253
  • python字典排序方法「建议收藏」

    python字典排序方法「建议收藏」字典是“键-值对”的无序可变序列在实际运用中,对字典进行排序是一个比较常见的操作,主要用到了python内置函数sorted(),该函数可以对所有可迭代的对象进行排序操作。语法(python3):sorted(iterable,key=None,reverse=False)参数说明:iterable:可迭代对象,即可以用for循环进行迭代的对象;key:主要是用来进行比较的元素,只有一个参数,具体的函数参数取自于可迭代对象中,用来指定可迭代对象中的一个元素来进行排序;reverse:排序规

    2022年6月18日
    28
  • 1000套安卓(Android)毕业设计(带论文)、大作业、实例快速下载 (Android Studio)

    1000套安卓(Android)毕业设计(带论文)、大作业、实例快速下载 (Android Studio)ctrl+F快速定位序号 类型 项目名称 1 毕业设计 毕业设计-基于安卓Android学生考勤信息管理系统.zip 2 毕业设计 毕业设计-安卓Android教务选课成绩管理系统.zip 3 毕业设计 114基于Android的理财记账本20141215+论文+需求文档+演示视频.zip.zip 4 毕业设计 Android科大讯飞语音识别.zip 5 毕业设计 基于android的点餐系统.zip.z..

    2022年6月3日
    31
  • java 四舍五入运算_JAVA正确的四舍五入方法「建议收藏」

    java 四舍五入运算_JAVA正确的四舍五入方法「建议收藏」在JDK版本为1.8的情况运行下面的代码,会发现很神奇的情况(见运行结果)。看如下代码:packagecom.longge.mytest;importjava.math.BigDecimal;importjava.math.RoundingMode;importjava.text.DecimalFormat;importorg.junit.Test;publicclassTestDecimal…

    2022年5月11日
    47
  • decode encode区别_python encode函数

    decode encode区别_python encode函数encode:编码decode:解码python内部编码方式为unicode,decode将其他编码方式转换成unicode编码方式,encode将unicode转换成其他编码方式。因此unicode相当于一个中转:(1)decode->unicode->encode(2)encode->unicode->decode字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符…

    2022年10月7日
    2
  • 域名转接公告

    域名转接公告

    2021年7月25日
    75

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号