该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

//c++

#include <cstdlib>

#include <iostream>

#include <fstream>

#define N 20010

using namespace std;

void mult (int *a,int b,int *s)

{

for (int i=N,c=0;i>=0;i--)

{

int y=(*(a+i))*b+c;

c=y/10;

*(s+i)=y%10;

}

}

void divi (int *a,int b,int *s)

{

for (int i=0,c=0;i<=N;i++)

{

int y=(*(a+i))+c*10;

c=y%b;

*(s+i)=y/b;

}

}

void incr(int *a,int *b,int *s)

{

for (int i=N,c=0;i>=0;i--)

{

int y=(*(a+i))+(*(b+i))+c;

c=y/10;

*(s+i)=y%10;

}

}

bool eqs(int *a,int *b)

{

int i=0;

while (((*(a+i))==(*(b+i)))&&(i<=N)) i++;

return i>N;

}

int main(int argc, char *argv[])

{

int lpi[N+1],lls[N+1],lsl[N+1],lp[N+1];

int *pi=lpi,*ls=lls,*sl=lsl,*p=lp;

for (int i=0;i<=N;i++)*(pi+i)=*(ls+i)=*(sl+i)=*(p+i)=0;

memset(pi,0,sizeof(pi));

memset(ls,0,sizeof(ls));

memset(sl,0,sizeof(sl));

memset(p,0,sizeof(p));

*pi=*ls=*sl=1;

for (int i=1;true;i++)

{

mult(ls,i,sl);

divi(sl,2*i+1,ls);

incr(pi,ls,p);

if (eqs(pi,p)) break;

int *t;

t=p;

p=pi;

pi=t;

if (i%50==0) cout << i << " ";

}

cout << endl;

mult(p,2,pi);

ofstream fout("pi.txt");

fout <

for (int i=1;i<=N;i++)

{

fout <

if (i%10==0) fout << " ";

if (i%80==0) fout << endl;

}

return EXIT_SUCCESS;

}

注:①运行时会有数据弹出,那是无关紧要的,只为了加快了感觉速度;

②最后的txt文本里有20010位,其中最后10位可能是错的。

③程序中的是大写的请改成小写�

c语言while语句求圆周率,[求助]圆周率程序相关推荐

  1. 把下列c语言的语句改写成汇编语言的程序片段,其中变量都为整形变量,汇编程序设计读书笔记(4)...

    第1章 标识符和表达式 1.1 标识符 标识符最多由31个字母.数字及规定的特殊字符(?.@._.$)等组成,但它不能用数字开头.通常情况下,汇编语言不区分标识符中字母的大小写. 1.2 简单内存变量 ...

  2. c语言利用遍历求树高的程序,用C语言实现二叉树的遍历极其应用

    用C语言实现二叉树的遍历极其应用 [1][摘要]:<数据结构>是计算机系学生的一门专业技术基础课程,计算机科学各领域及有关的应用软件都要用到各种数据结构.C语言有较丰富的数据类型.运算符以 ...

  3. C语言goto语句 做一个自动关机小程序 —— 给小伙伴来个“恶作剧”吧

    C语言中提供了可以随意滥用的 goto语句和标记跳转的标号. 从理论上 goto语言是没有必要的,实践中没有goto语句也可以很容易写出代码. 但是某些场合下 goto语句还是用得着的,最常见的用法就 ...

  4. c语言注释语句的作用,在C程序中,注释说明只能位于一条语句的后面。

    中注释下列属于"如何克服紧张"的叙述是( ). 对犯罪分子判处罚金,程序确定罚金的数额应当根据( ) 说明下列说法中正确的是: . 下列各情况中,位于甲乙构成共同犯罪的是( ) 条 ...

  5. c语言中用递归求平方根,下列给定程序中,函数fun()的功能是:应用递归算法求某数a的平方根。求平方根的迭代公式如下: 例如 - 赏学吧...

    下列给定程序中,函数fun()的功能是:应用递归算法求某数a的平方根.求平方根的迭代公式如下: 例如,2的平方根为1.414214. 请改正程序中的错误,使它能得出正确的结果. 注意:不要改动main ...

  6. c语言 编写一个求圆面积的函数area,该函数有一个形式参数r,c语言编写一个求圆面积的函数area,有形参,类型为float...

    用c语言编写函数,求圆的周长和面积,用函数.急求. #include#definePI3.1415926doublearea(doubler){returnPI*r*r;}doubleperimete ...

  7. c语言 do while 素数,c语言题目:用while语句求2000以内所有质数(素数)

    c语言题目:用while语句求2000以内所有质数(素数) 关注:100  答案:3  手机版 解决时间 2021-02-26 06:59 提问者祗剩寂寞 2021-02-25 10:11 小弟初学, ...

  8. c语言1到1000的3的倍数之和,C语言编程:用for语句求1~100中是3的倍数的所有整数之和...

    #includeint main(){int i,s=0;for(i=1;i;i+)s+i;printf("%d\\n",s);return 0;}输出5050www.mh456. ...

  9. c++语言计算圆周率,计算圆周率的C++程序(30000位)

    //计算圆周率的C++程序(30000位) #include #include #include #define N 10000 //using namespace std; void mult(in ...

最新文章

  1. 排列组合中分组(分堆)与分配问题
  2. php高版本安装ecshop错误解决方法
  3. html文件怎么用Python做后端,利用python实现后端写网页(flask框架).pdf
  4. 【Matlab 控制】矩阵、图像操作基础
  5. webpack 环境安装
  6. 信息系统项目管理师:第8章:项目质量管理-章节真题+解析
  7. 使用ScheduledThreadPoolExecutor代替TimerTimerTask
  8. Apollo进阶课程㊶丨Apollo实战——本机演示实战
  9. spring基础整理
  10. 将字符串转为16进制数_C语言中的进制互转与数值和字符串互转的混搭玩法
  11. 2010年3月再谈前端工程师的笔试题
  12. mel加载一个物体不同姿态的模型实现动画效果
  13. rrdtool安装编译提示错误:Can’t locate ExtUtils/MakeMaker.pm in @INC
  14. C++中的命名空间(namespace)介绍
  15. BAPI:KBPP_EXTERN_UPDATE_CO, TCODE:CJ30/CJ40 第一部分
  16. java多线程调度_Java多线程:生命周期,实现与调度
  17. mysql存储过程详解以及PHP调用MYSQL存储过程实例
  18. python 日历壁纸_将桌面日历添加到您的MAC
  19. linux必会的30道shell编程面试题及讲解
  20. 禁止spotlight索引外置硬盘或者网络硬盘

热门文章

  1. vue 和nodejs是什么关系?
  2. 基于英汉平行语料库的机器翻译知识获取研究
  3. Simulink仿真时间、步长、精度和解法器设置
  4. Java 日期 calendar中 DATE 和 DAY_OF_MONTH 和 DAY_OF_YEAR
  5. python和mt4编程_EA学习教程(MT4编程)MQL4源码 从马丁策略学习如何编写简单的程序...
  6. EXCEL对数据的相对引用和绝对引用
  7. 玩游戏键盘一按就打开计算机,win10电脑玩游戏时按键盘会自动弹字
  8. File类以及文件过滤器
  9. 流量互点PHP源码,点击量软件-求一个网页可以增加流量的软件?要释放。 。 。自由...
  10. 【快速入门】华为交换机eNSP简单配置(附缩写总结)