早教吧 育儿知识 作业答案 考试题库 百科 知识分享

一个六位数,分离所有位数求和.2.1+2+3.+100用3种方法3.求两个数的最小公倍数和最小公因数两种方法

题目详情
一个六位数,分离所有位数求和.2.1+2+3.+100用3种方法 3.求两个数的最小公倍数和最小公因数两种方法
▼优质解答
答案和解析
第一个问题
1.如楼上的方法,当做整数读,然后不断取余10,除以10
2.当做字符读,然后通过c-48(或者c-'0'),把字符转化成整数进行相加
第二个问题:
1.如楼上的,用循环
2.用两种等差数列公式
楼上的递归不确定能否算作一种方法,其实跟循环是一样的
第三个问题:
题目有错,应该是求最大公因数
1.最大公约数(最小公倍数),从较小(大)的数开始往下(上)循环,如果取余的结果为零,则找到答案,输出i,退出!
2.最大公约数:用辗转相除法(网上很多材料),c的递归代码如下:
int gcd(int a, int b)
{
return b == 0 ? a : gcd(b, a%b);
}
最小公倍等于两个数相乘除以最大公约数:
int lcm(int a,int b)
{
return a * b / gcd(a, b);
}
不知道你用什么语言没给出详细的程序,有了算法实现应该不难,谢谢!