C语言编程练习题
本练习假设:整数int为4字节,运行环境为VC 一、整数位数有关的问题
二、关于整数的几个题目
1、输入两个正整数m和n,求其最大公约数和最小公倍数。
算法分析:采用辗转相除法,先求出最大公约数d,然后求最小公倍数c=m*n/d。
2、求出所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数。例
类似地:可以求出100以内的勾股数,如3^2+4^2=5^2。
三、关于数组的几个题目
求2100的精确值。
后面十多位全是0,因此是近似值。
如何求精确值呢(关键是如何保存每一位)
扩展问题:如何求出100!的精确值
缺陷:如果乘以一个很大的数如20亿,会使高一位与进位相加后溢出。
四、大数运算
用整数数组存放每一位,最高位用-1存储,如12存为:a[0]=2,a[1]=1,a[2]=-1。1、输入和存储大数。
编制一函数,将合法数字组成的字符串表示的大数按位拆分存储到整数数组中,最高位
2、输出和获得数字串。
编制一函数,将大数转换成字符串。
3、大数相加。
或2的100次方的精确值将变得很简单。
相关主题