数据结构实验1.2:高精度计算PI值
//高精度计算PI
#include <stdio.h>
#include <stdlib.h>#define max 500typedef struct Node{int data;struct Node *next,*pre;
}LHead,*LHeadPtr,Node,*NodePtr;void List_Init(LHeadPtr L){L->data = 2;L->next = L;L->pre = L;NodePtr p,q;q = L;for(int i = 1;i < max;i++){p = (NodePtr)malloc(sizeof(Node));p->data = 0;p->next = q->next;p->pre = q;q->next->pre = p;q->next = p;}}void M_D(LHeadPtr L,int zi,int mu){NodePtr p;p = L->pre;//乘法int c,d=0;for(;p != L;p=p->pre){c = p->data * zi + d;p->data = c % 10;d = c / 10;}p->data +=d;//除法d = 0;p = L;while(1){c = p->data + d * 10;p->data = c / mu;d = c % mu;p = p->next;if(p == L)break;}
}void List_Add(LHeadPtr L1,LHeadPtr L2){//加法NodePtr p,q;p = L1->pre;q = L2->pre;int c,d=0;while(1){c = p->data + q->data + d;p->data = c%10;d = c/10;p=p->pre;q=q->pre;if(p == L1->pre)break;}
}int main(){LHeadPtr s,m;s = (LHeadPtr)malloc(sizeof(LHead));m = (LHeadPtr)malloc(sizeof(LHead));List_Init(s);List_Init(m);int i = 1,j=0;while(i<2000){j = i*2+1;M_D(m,i,j);List_Add(s,m);i++;}int n;scanf("%d",&n);printf("%d.",s->data);NodePtr p = s->next;for(int i = 0;i < n;i++){printf("%d",p->data);p=p->next;}printf("\n");return 0;
}
数据结构实验1.2:高精度计算PI值相关推荐
- 数据结构实验1.2—高精度计算PI值(西工大)
这是数据结构第二题的题目,是让我们根据用户的需求来计算派的值 这是题目的详细描述,刚看到这道题的时候,我是真的头大,完全没有思路,于是查找了一些大佬的笔记后才开始编写 这是我在写这些代码是所运用到的数 ...
- 西工大NOJ数据结构实验——1.2高精度计算PI值
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> typ ...
- 高精度计算PI值 C语言 思路,高精度计算pi
高精度计算PI值 题目描述 使用双向链表作为存储结构,请根据用户输入的一个整数(该整数表示精确到小数点后的位数,可能要求精确到小数点后 500 位),高精度计算PI值.提示:可以利用反三角函 ...
- 高精度计算PI值 C语言 思路,高精度计算PI值
高精度计算PI值 高精度计算PI值 所用公式: #include #include typedef struct list{ int data; struct list *next; struct l ...
- 数据结构28——高精度计算PI值
题目:输入n,输出PI精确到小数点后n位的PI值. #include<stdio.h> #include<stdlib.h>typedef struct node {int d ...
- 【算法】高精度计算π(pi)值
- 西工大数据结构实验NOJ参考代码和分析合集
实验1.1 合并有序数组 //001合并有序数组 #include <bits/stdc++.h> #define MAXSIZE 20 //数组的最大长度为20 typedef stru ...
- 高精度计算Π的值(C语言)
题目要求 限制使用双向链表作存储结构,请根据用户输入的一个整数(该整数表示精确到小数点后的位数,可能要求精确到小数点后500位),高精度计算PI值.可以利用反三角函数幂级展开式来进行计算. 输入5 输 ...
- sdut 3333 数据结构实验之栈与队列六:下一较大值(二)
数据结构实验之栈与队列六:下一较大值(二) Time Limit: 150MS Memory Limit: 8000KB Submit Statistic Discuss Problem Descri ...
- sdut-3332 数据结构实验之栈与队列五:下一较大值(一)
数据结构实验之栈与队列五:下一较大值(一) Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Desc ...
最新文章
- 【ES6】Proxy对象
- Citrix运行检测出错
- .Net/C# 实现: FlashFXP 地址簿中站点密码的加解密算法
- unity3d 数学的数学基础和辅助类
- bash不识别命令 ssh_关于Python脚本在后台运行的几种方式!(linux,bash,tmux,等)...
- JS 实现2+2=5的代码 实现原理解析
- flutter 返回指定界面_Flutter 即学即用系列博客——04 Flutter UI 初窥
- mvc新增,上架及下架
- windows跨设备实现复制粘贴
- idb 怎么回复mysql_mysql中的.idb文件 怎么正常显示
- php入侵代码,入侵PHP网站就这么简单.pdf
- 努比亚Z5Smini刷机包 正式版时间锁屏 音量唤醒 精简优化 流畅稳定
- 玉堂金阙百度云php100,玉堂金阙(全二册)
- 有一种记录叫“时光轴”!
- 员工转正申请书_简短的员工转正申请书范文6篇
- oracle通信通道的文件结尾_Oracle错误——ORA-03113:通信通道的文件结尾 解决办法...
- 2022年哪些浏览器安全、速度快、好用又不卡?
- 【IEEE会议-EI稳定检索】2022年自动化机器人与计算机工程国际学术会议(ICARCE2022)
- teradata 查看 表定义_Teradata CREATE表
- addEventListener的常用事件