高精度加法(非负)和大数阶乘

文章目录

  • 高精度加法(非负)和大数阶乘
    • 一、问题描述
    • 二、代码
    • 三、问题描述
    • 四、代码
    • 五、问题描述
    • 六、代码

一、问题描述

二、代码

#define _CRT_SECURE_NO_WARNINGS
#include<Windows.h>
#include<stdio.h>
#define MaxSize 100
//高精度加法:两个大整数非负
int main()
{char a[MaxSize];char b[MaxSize];char c[MaxSize];int i = 0;for (;i < MaxSize;i++){a[i] = 0;b[i] = 0;c[i] = 0;}printf("请输入第一个大整数:\n");scanf("%s", &a);printf("请输入第一个大整数:\n");scanf("%s", &b);int lena = strlen(a);int lenb = strlen(b);for (i=0;i < lena || i < lenb;i++){/*因为字符串往数组里面存的时候都是从数组首元素开始存的,即数组第0位都存着两个大整数的最高位,数组第1位存两个大整数此高位,以此类推,*/if (i < lena){c[i] += a[lena - 1 - i]-'0';//因为相加的时候都是从最低为开始相加,即两个数组的最后一位最先开始相加}if (i < lenb){c[i] += b[lenb - i - 1]-'0';}if (c[i] >= 10){c[i + 1] = c[i] / 10;//从C数组第1位开始存储和c[i] = c[i] % 10;}}if (lena < lenb)//取得两数组较大的长度{lena = lenb;}if (c[lena] > 0){printf("%d", a[lena]);}for (i = lena - 1;i >= 0;i--)//输出{printf("%d", c[i]);}system("pause");return 0;
}

三、问题描述

四、代码

#define _CRT_SECURE_NO_WARNINGS
#include<Windows.h>//大数阶乘001
#include<stdio.h>
void JieCheng(int n)
{int a[2000];int i = 0;int j = 0;int weishu = 1;int tem = 0;//临时存储a[0] = 1;for (i = 2;i <= n;i++){int num = 0;for (j = 0;j < weishu;j++){tem = a[j] * i + num;a[j] = tem % 10;num = tem / 10;}while (num){a[weishu] = num % 10;num = num / 10;weishu++;}}for (i = weishu - 1;i >= 0;i--){printf("%d", a[i]);}
}
int main()
{int n = 0;while (n != EOF){printf("请输入要求阶乘得数:\n");scanf("%d", &n);JieCheng(n);}system("pause");return 0;
}

五、问题描述

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,
//给20元,可以多少汽水。
//编程实现。

六、代码

int main()
{int money = 20;int woter = money;//汽水瓶数int pinpin = woter;//开始空瓶数int num = 0;//记录剩余空瓶树int lastpinpin = pinpin;//总空瓶数while (pinpin){pinpin = lastpinpin / 2;//2个空瓶换一瓶汽水,换到多少汽水,就得到多少空瓶num = lastpinpin % 2;//记录上次换完汽水有没有剩余lastpinpin=pinpin+ num;//总空瓶树==得到的汽水数+剩余空瓶数woter += pinpin;//每次给汽水加上}printf("%d", woter);system("pause");return 0;
}

高精度加法(非负)和大数阶乘及和汽水问题相关推荐

  1. 蓝桥杯-阶乘运算和高精度加法(Java)

    蓝桥杯-阶乘运算和高精度加法(Java) 因为我感觉这两种题型都是对高精度的考察,都可以用数组代替整形进行数字运算,所以我把这两种题型放在一起了. 阶乘运算 先看一下题目 解这种题目目前我知道的有两种 ...

  2. 高精度加法(C语言实现)

    高精度,是学C语言漫长的路上必须要学的一类程序 >>>高精度模板( 加,减,乘低精高精,除低精高精(有余数),高精阶乘(200000以内) ) (C语言实现)(注释多多)<&l ...

  3. 基础练习 高精度加法

    基础练习 高精度加法 时间限制:1.0s 内存限制:512.0MB 问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标 ...

  4. PAT甲级1023 Have Fun with Numbers:[C++题解]高精度加法和两个vector大小比较

    文章目录 题目分析 题目链接 题目分析 使用高精度加法高精度加法板子求 这个数的两倍,存在一个vector中. 所谓高精度就是使用string来存大的数,然后模拟列竖式加法,结果一位一位压入数组vec ...

  5. CCF NOI1138 高精度加法

    问题链接:CCF NOI1138 高精度加法. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 给两个正整数,计算它们的和. 输入 两行,每行表示一个数(位数达10000位). ...

  6. (压位)高精度乘法,高精度加法,高精度减法,高精度除法

    大值 乘 大值: 题目链接:https://www.luogu.com.cn/problem/P1303 # include <iostream> # include <string ...

  7. 阶乘之和 大数阶乘之和

    情况一:不考虑大数的情况 算法思想:直接上代码,简单易懂. 代码描述: int fac(int n){int p=1, sum=0;for(int i=1; i<=n; i++){p = p*i ...

  8. c语言大数阶乘详细,大数阶乘(c语言)

    大数阶乘.代码比较简单. #include #include #define MAXN 25000 // 如果你的阶乘N比较大,建议大一点 int result[MAXN]; int main() { ...

  9. c语言求大数阶乘思路,大数阶乘的c语言算法心得

    由于大数阶乘的位数超出了int的表示范围,我们只能用一个数组来放置它,那么首先确定结果数组的大小,这个可以根据阶乘位数的计算公式来计算,这里有个关键点,在定义数组的时候可以先给出一个指针,在原则上指针 ...

最新文章

  1. Oracle中的字符处理方法
  2. 计算机应用12班,《计算机应用基础》上机试卷A(10级机电8—12班)
  3. Latex字体加粗命令备忘
  4. STM32F103单片机系统时钟部分归纳
  5. MySQL存储过程和函数(一)
  6. HTTP协议详解(转载)
  7. [Microsoft][SQL Server 2000 Driver for JDBC]Error establishing socket
  8. mysql记录虚拟货币数据类型_近几年虚拟货币应用情况的相关数据
  9. DBNull与Null的区别
  10. python中tab键_python中tab键是什么意思
  11. 这也许是你不曾留意过的 Mybatis 细节 1
  12. 图片以base64格式显示出来
  13. M1 Mac YYKit 报错
  14. 《数字图像处理》实验二
  15. 第一次使用MFC开发桌面小程序
  16. [java学习笔记]-注解和反射
  17. Counterpoint:2018年第三季度中国手机市场现状与双十一展望
  18. 微博爬虫数据分析可视化程序设计报告
  19. VMware 兼容性列表与产品互操作性列表使用收集(持续更新中...)
  20. redux与flux

热门文章

  1. WebSocket 的通信机制
  2. C# 类、对象、方法和属性详解(重新排版,页面整洁)
  3. 下一代网络安全将全部基于行为识别
  4. 惠普大佬:未来30年四大趋势将推动科技产业发展
  5. 【135天】尚学堂高淇Java300集视频精华笔记(74-76)
  6. 【CCNA】思科PPP身份验证(PAP单向认证与CHAP单向认证)
  7. CodeIgniter的快速操作
  8. 【Programming Clip】06、07年清华计算机考研上机试题解答(个别测试用例无法通过)...
  9. Nokia手机短信发件人显示乱码问题解决
  10. UVA - 12338 Anti-Rhyme Pairs(后缀数组)