C版本、C#的git过滤文件

This commit is contained in:
游由 2021-11-09 16:52:30 +08:00
parent b73aed42ac
commit dde91e67a0
3 changed files with 45 additions and 0 deletions

6
c/CMakeLists.txt Normal file
View File

@ -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)

36
c/main.c Normal file
View File

@ -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;
}

3
c_sharp/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
my_leetcode/.vs
my_leetcode/bin
my_leetcode/obj