算法
茗樱.Stella
茗染云华 荆挑赋樱
展开
-
【算法】(持续更ing)
1-1 圆柱体的表面积输入底面半径r和高h,输出圆柱体的表面积,保留3位小数,格式见样例。样例输入:3.5 9样例输出:Area = 274.889【分析】圆柱体的表面积由3部分组成:上底面积、下底面积和侧面积。由于上下底面积相等, 完整的公式可以写成:表面积=底面积×2+侧面积。根据几何知识,底面积=πr^2,侧面积 =2πrh。不难写出完整程序:#in...原创 2018-09-10 18:50:02 · 490 阅读 · 0 评论 -
【算法】整数a+b的和 不用加法+运算符
主要利用异或运算来完成异或运算有一个别名叫做:不进位加法那么a ^ b就是a和b相加之后,该进位的地方不进位的结果然后下面考虑哪些地方要进位,自然是a和b里都是1的地方a & b就是a和b里都是1的那些位置,a & b << 1 就是进位之后的结果。所以:a + b = (a ^ b) + (a & b << 1)令a' = a ^ b,...原创 2018-11-21 22:26:57 · 632 阅读 · 0 评论 -
【算法】计算出n阶乘中尾部零的个数
思路:观察1-20阶乘的结果,观察尾数为0的分布情况发现有一个5就会出现一个0其中5!(有一个5),10!(有两个5)5!=120(一个0)10!=3628800(两个0)#include <stdio.h>long trailingZeros(long n){ long count=0; long temp=n/5; while (temp!=0) ...原创 2018-12-09 15:52:38 · 334 阅读 · 0 评论 -
【算法】计算数字k在0到n中的出现的次数,k可能是0~9的一个值
思路:遍历每一个数,同时每一个数都遍历每一位,遍历每一位的方法是不断地整除10,直到整除为0。#include <stdio.h>int digitCounts(int k, int n) { int sum=0; for(int i=0;i<=n;i++) { int num=i; while(num/10!=0) { if(num%10...原创 2018-12-09 16:23:32 · 1397 阅读 · 0 评论