C版本、C#的git过滤文件
This commit is contained in:
parent
b73aed42ac
commit
dde91e67a0
|
@ -0,0 +1,6 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
project(leetcode_c C)
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
|
||||
add_executable(leetcode_c main.c)
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
//
|
||||
// Created by Huang on 2021/11/9.
|
||||
//
|
||||
#include <stdio.h>
|
||||
|
||||
int mySqrt(int x) {
|
||||
union {
|
||||
long long i;
|
||||
double f;
|
||||
}u;
|
||||
double xHalf = 0.5 * x;
|
||||
u.f = x;
|
||||
u.i = 0x5FE6EC85E7DE30DALL - (u.i >> 1);
|
||||
u.f = u.f * (1.5 - xHalf * u.f * u.f);
|
||||
u.f = u.f * (1.5 - xHalf * u.f * u.f);
|
||||
u.f = u.f * (1.5 - xHalf * u.f * u.f);
|
||||
return 1.0 / u.f;
|
||||
}
|
||||
|
||||
int mySqrt1(int x) {
|
||||
double xHalf = 0.5 * x;
|
||||
double f = x;
|
||||
long long i = *(long long *) &f;
|
||||
i = 0x5FE6EC85E7DE30DALL - (i >> 1);
|
||||
f = *(double *) &i;
|
||||
f = f * (1.5 - xHalf * f * f); // 牛顿迭代法,重复此句可提高精度
|
||||
f = f * (1.5 - xHalf * f * f);
|
||||
f = f * (1.5 - xHalf * f * f); // 三次迭代
|
||||
return 1.0 / f;
|
||||
}
|
||||
|
||||
int main() {
|
||||
printf("Hello, World!\n");
|
||||
printf("%d", mySqrt1(2147395599));
|
||||
return 0;
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
my_leetcode/.vs
|
||||
my_leetcode/bin
|
||||
my_leetcode/obj
|
Loading…
Reference in New Issue