首页 > 其他分享 >【趣学C语言和数据结构100例】

【趣学C语言和数据结构100例】

时间:2024-10-11 20:54:12浏览次数:10  
标签:10 xn 迭代法 趣学 C语言 100 x1 x0

【趣学C语言和数据结构100例】

问题描述

  1. 一个球从 100m 高度自由落下,每次落地后反弹回原高度的一半,再落下,求它在第 10 次时共经过多少米,第 10 次反弹多高。

  2. 猴子吃桃问题。猴子第 1 天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第 2 天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第 10 天早上想再吃时,就只剩一个桃子了。求第 1 天共摘多少个桃子。

  3. 迭代法求 x = 根号 a。求平方根的迭代公式为 x(n+1) = 1/2 * (xn + a/xn)

  4. 用牛顿迭代法求下面方程在 1.5 附近的根: 2x³ - 4x² + 3x - 6 = 0

  5. 用筛选法求 100 之内的素数。

代码分析

6. 物理公式的规律应用
每次落地后反弹回原高度的一半,初始total_m,第一次为total_m *= 0.5,for循环计算n次的,共经过,使用sum来计数。

7. 数学公式的规律应用
已知结果,找倒推规律,求初始。由后一天 = ( 前一天 / 2 ) -1 可知,前一天 = ( 后一天 + 1 ) *2,定义天数day,使用while(day–),求第一天。
8. 巴比伦法
迭代公式为 x(n+1) = 1/2 (xn + a/xn)
初次猜测,x0=a/2,那么,代入公式得到x1
使用while开始代法,令x0=x1,代入公式得到x1
当 ∣xn+1−xn∣∣xn+1​−xn​∣ 小于某个设定的精度(例如 1e−51e−5)时停止迭代。

9. 牛顿迭代法的求解
牛顿迭代法 :x(n+1) = x(n) - f(x(n)) / f’(x(n))
即:
请添加图片描述
对于本题,方程在 1.5 附近的根: 2x³ - 4x² + 3x - 6 = 0
x0,x1=1.5,f,f1
f(x(n))=2x³ - 4x² + 3x - 6
f’(x(n)) =6x² -8x +3

每次令
x0 = x1;
f = ( ( 2 * x0 - 4 ) * x0 + 3 ) * x0 -6;
f1 = ( 6 * x0 - 8 ) * x0 + 3;
x1 = x0 - f / f1;
当 ∣xn+1−xn∣∣xn+1​−xn​∣ 小于某个设定的精度(例如 1e−51e−5)时停止迭代。

10. 筛选法
筛选法:又称为筛法。先把以个自然数按次序排列起来。1不是质数,也不是合数,要划去第二个数2是质数留不来,而把2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,把3留下,再把3后面所有能被3整除的数都划去。3后面第一个没划去的数是5,再把与后面所有能被5整除的数都划去。这样一直做下去,就会把不超过N的把5留下,全部合数都筛掉,留下的就是不超过N的全部质数。
具体思路:先初始化数组,初始化为数字本身,如果访问过,则赋值为0。定义两个for循环,第一个访问到100,然后判断为0,则跳过。否则进行,从该数开始,到100,找到该数的倍数,并赋值为0。

代码实现

#include<stdio.h>
#include<math.h>
int main(){
   
//  6.一个球从100m高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹求它在第10次时共经过多少米,第10次反弹多高。
	double total_m = 100.0,sum = 0.0; 
	for(int i = 

标签:10,xn,迭代法,趣学,C语言,100,x1,x0
From: https://blog.csdn.net/lwcwam/article/details/142862048

相关文章

  • 动态内存管理(c语言)
    这里写目录标题1.为什么有动态内存分配2.malloc函数和free函数3.calloc和realloc1.为什么有动态内存分配在讲动态内存的优势之前,先聊聊其他内存开辟方法的不足之处。上图内存开辟方法的特点为:1.空间开辟的大小是固定的。2.数组在声明的时候需要指定长度,数组空间......
  • c语言模拟实现库函数 strlen strcpy strcat strcmp strstr
    一、模拟实现库函数strlen解释:strlen是求字符串长度的,求出的长度是不可能为负数所以返回类型设置为size_t也是合情合理的 typedefunsignedintsize_t\注意字符串已经'\0'作为结束标志,strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含'\0')。size_......
  • 【C语言】自定义类型:联合体和枚举
    文章目录一、联合体(共同体)1.联合体类型的声明2.联合体的特点测试1测试23.联合体大小的计算例1例24.联合体小练习5.结构体和联合体内存占用的对比6.联合体的应用二、枚举1.枚举类型的声明2.枚举类型的优点3.枚举类型的使用一、联合体(共同体)1.联合体类型的声......
  • 2024西北工业大学noj(C语言)记录
    作者是零基础捏,仅作个人学习记录,多数题目会有更优解。有些题目虽然AC了但是可能不严谨。有错误请务必指正我我做完之后会看去年学长发的贴子,各位可以直接看他们的,他们的算法确实更优,有些打的注解就是看过他们的文章后加入的。如果各位有优解可以在评论区或者私信教我hh......
  • C语言笔记 13
    初见函数求素数的和#include<stdio.h>intmain(){intm,n;intsum=0;intcnt=0;inti;scanf("%d%d",&m,&n);//m=10,n=31;if(m==1)m=2;for(i=m;i<=n;i++){intisPrime=1;intk;for(k=2;......
  • 菲姐游泳(C语言实现)
    游泳奥运冠军菲姐刻苦训练,从早上a时b分开始下水训练,直到当天的c时d分结束。请编程计算:菲姐当天一共训练多少小时多少分钟?输入格式:一行之内输入以空格分隔的4个非负整数,分别对应a,b,c,d。其中,0≤a<c≤24;b和d均不大于60。输出格式:h:m。其中,整数h表示小时数,整数m表示分钟......
  • Python从0到100(六十二):机器学习实战-预测波士顿房价
    前言:零基础学Python:Python从0到100最新最全教程。想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Python爬虫、Web开发、计算机视觉、机器学习、神经网络以及人工智能相关知......
  • C语言-常见文件操作函数详解(fgetc,fputc,fgets,fputs,fscanf,fprintf,fread,fwrite)
     ......
  • 第1讲:C语言常见概念(一)
    目录1.C语言是什么?2.C语言的历史和辉煌3.编译器的选择VS2022 正文开始1.C语言是什么? 人和人交流使用的是自然语言,如:汉语、英语、日语...那人和计算机是怎么交流的呢?使用计算机语言。目前已知已经有上千种......
  • 第二讲:C语言的常见概念(二)
    #1.初识C语言程序#首先我们来认识所有学习c语言的初学者学习的第一个程序编码:#include<stdio.h>intmain(){printf(“helloC\n”);return0;}在VS2022上运⾏代码的快捷键:Ctrl+f5#2.main函数每个C语言程序不管有多少行代码,都是从main函数开始执行的,main函数......