当前位置: 首页 > news >正文

考研C语言进阶题库——更新16-20题

目录

16计算t=1+1/2+...+1/n-1+1/n

17计算1997!

18计算t=1-1÷2×2-1÷3×3-...-1÷n×n

19相传国际象棋是古印度舍罕王的宰相达依尔发明的.舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐. 这位聪明的宰相指着8*8共64格的象棋说:陛下,请您赏给我一些麦子吧. 就在棋盘的第1格放1粒,第2格放2粒,第三格放4粒,以后每一格都比前一格增加一位,依此放完棋盘一64格,我就感激不尽了. 舍罕王让人扛了一袋麦子,他要兑现他的许诺.请问,国王要兑现他的许诺共要多少粒麦子赏赐他的宰相?

        方案一

        方案二

20某人有四张3分的邮票与三张5分的邮票,用这些邮票中的一张或若干张能得到多少种不同的邮资?(美国小学奥林匹克试题)


16计算t=1+1/2+...+1/n-1+1/n

//16计算t=1+1/2+...+1/n-1+1/n.c
#include <stdio.h>int main(){//初始化double sum=0,n;scanf("%lf",&n);for (double i = 1.0; i <= n; i++) {sum+=1/i;}printf("%lf",sum);return 0;
}

17计算1997!

//17计算1997!.c
#include <stdio.h>
int main()
{int a[20000]={1}; 			//存放1977!的结果,令个位数初始值为1int carry;int digit = 1; 			//存放已经有多少位数int temp; 				//存放中间数字,对每位数处理进位时的关键for(int i = 2; i <= 1997; ++i) { 			//每一个阶层的处理carry = 0;for(int j = 1;j<=digit;++j){ //处理当前数组中每一位元素与当前阶层的结果temp = a[j-1] * i + carry;a[j-1] = temp % 10;  //逐步得到新的每一位数组元素中所代表的值carry = temp / 10;    //printf("%d",2/10);//0}while(carry){ 			 //当处理完当前最后一位数时carry还为十位数时,这时将需要获得新的一位数组长度并保存a[++digit-1] = carry % 10;carry /= 10;}}for(int i = digit; i >=1; --i)  {  //输出printf("%d",a[i-1]);}printf("\n");return 0;
}

18计算t=1-1÷2×2-1÷3×3-...-1÷n×n

//18计算t=1-1÷2×2-1÷3×3-...-1÷n×n.c.c
#include <stdio.h>int main(){//初始化double n,sum=1;scanf("%lf",&n);for (int i = 2; i <= n; i++) {sum-=1.0/(i*i);}printf("%.100lf",sum);return 0;
}
//数据演示:
//E:\CODE\c\dalian2.0\cmake-build-debug\18.exe
//100
//0.3650160998151070201878098941961070522665977478027343750000000000000000000000000000000000000000000000
//进程已结束,退出代码0

19相传国际象棋是古印度舍罕王的宰相达依尔发明的.舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐. 这位聪明的宰相指着8*8共64格的象棋说:陛下,请您赏给我一些麦子吧. 就在棋盘的第1格放1粒,第2格放2粒,第三格放4粒,以后每一格都比前一格增加一位,依此放完棋盘一64格,我就感激不尽了. 舍罕王让人扛了一袋麦子,他要兑现他的许诺.请问,国王要兑现他的许诺共要多少粒麦子赏赐他的宰相?

        方案一

//19印度王承诺麦子国际象棋.c
#include <stdio.h>
int main(){//初始化int brr[20000]={-1},arr[20000],t;double sum=1;int digit=1,temp=0;for (int i = 1; i <= 30; i++) {digit=0;sum=sum*2;t=sum;while(t){arr[++digit-1]=t%10;t=t/10;}}for (; digit>=0 ; digit--) {printf("%d",arr[digit]);}return 0;
}
//数据演示:只能求到30
//E:\CODE\c\dalian2.0\cmake-build-debug\19.exe
//01073741823
//进程已结束,退出代码0

        方案二

//19印度王承诺麦子国际象棋.c
/* 函数功能:国王的许诺,需要多少麦子,这些麦子合多少立方米*/
#include <stdio.h>int main()
{double i=1,sum=1;for(int n=0;n<63;n++){   i=2*i;sum=sum+i;}printf("%.0lf\n",sum);printf("%lf\n",sum/1.42e8);return 0;
}
//数据演示:
//

20某人有四张3分的邮票与三张5分的邮票,用这些邮票中的一张或若干张能得到多少种不同的邮资?(美国小学奥林匹克试题)

//20排列组合油票.c
#include <stdio.h>
//4*3+3*5=27
int main(){//初始化int arr[30],count;for (int i = 0; i <= 4 ; i++) {for (int j = 0; j <= 3; j++) {count++;}}printf("%d",count-1);return 0;
}
//数据演示:
//

http://www.lryc.cn/news/119972.html

相关文章:

  • 【变形金刚01】attention和transformer所有信息
  • 面试热题(路径总和II)
  • 测试 tensorflow 1.x 的一个demo 01
  • 达蒙DM数据库使用经验
  • Redis—集群
  • 【C语言】数据在内存中的存储详解
  • PIC单片机配置字的设置
  • JavaWeb-Servlet服务连接器(一)
  • 新华三超融合态势感知标准版
  • AutoSAR系列讲解(深入篇)13.2-Mcal Port配置
  • Java旋转数组中的最小数字(图文详解版)
  • Android 13 Hotseat定制化修改——005 hotseat图标禁止形成文件夹
  • 插入、希尔、归并、快速排序(java实现)
  • 怎么把图片表格转换成word表格?几个步骤达成
  • 多线程与高并发--------阻塞队列
  • 前端-NVM,Node.js版本管理
  • React - useEffect函数的理解和使用
  • python模块 — 加解密模块rsa,cryptography
  • 【C++】速识模板(template<class T>)
  • 腾讯云10万日活服务器配置怎么选?费用多少?
  • vue 使用vue-video-player加载视频(铺满容器)
  • OpenCV(三)——图像分割(三)
  • 数论复习c++
  • Java try-with-resources 显性 与 隐性 关闭 资源
  • Vue在页面输出JSON对象,测试接口可复制使用
  • 【STM32】FreeRTOS开启后,不再进入主函数的while(1)
  • Python+Selenium+Unittest 之selenium11--WebDriver操作方法1-常用操作
  • 气液固三相线识别—Langmuir部分复现
  • Redis——常见数据结构与单线程模型
  • 大数据-玩转数据-Flink-Transform