static int g(int m) { return (m / 2 + m % 2) * (m % 2 == 0 ? -1 : 1); } static int g1(int m) { int n = 0; for (int i = 1; i <= m; i++) { if (i % 2 == 0) n = n - i; else n = n + i; } return n; } static void Main(string[] args) { //第1题 for (int i = 0; i < 50; i++) { Console.WriteLine(g(i));//方法1 Console.WriteLine(g1(i));//方法2 } }
//第2题 long n = 22; string ss = ""; for (int i = 0; i < 100; i++) { ss += (n * 10000000000 / 7).ToString(); n = n*10000000000%7; } ss = ss.Insert(1, "."); Console.WriteLine(ss);
static int g(int m) { return (m / 2 + m % 2) * (m % 2 == 0 ? -1 : 1); } static int g1(int m) { int n = 0; for (int i = 1; i <= m; i++) { if (i % 2 == 0) n = n - i; else n = n + i; } return n; } static void Main(string[] args) { //第1题 for (int i = 0; i < 50; i++) { Console.WriteLine(g(i));//方法1 Console.WriteLine(g1(i));//方法2 } //第2题 long n = 22; string ss = ""; for (int i = 0; i < 100; i++) { ss += (n * 10000000000 / 7).ToString(); n = n*10000000000%7; } ss = ss.Insert(1, "."); Console.WriteLine(ss); }
22/7的计算 int v1 = 22; int v2 = 7; int s = v1 / v2; //取整 int mod = v1 % v2; //取余 Console.Write(s); for(int i=0;i<1000;i++) { int v = mod*10; s = v / v2; mod = v % v2; Console.Write(s); } Console.ReadKey();
if(n%2=1) n/2+n else n/2-n
function getSum(n) { return (n % 2 == 0) ? n / 2 + 1 : -n / 2; }
function getSum(n) { return (n % 2 != 0) ? n / 2 + 1 : -n / 2; }
第一题。规律,如果m为偶数,结果为m/2* -1,否则,结果为(m-1)/2 * -1 + m -->(m + 1) / 2
m % 2 == 0,sum = -m/2,否则sum = (m+1)/2
第一题。规律,如果m为偶数,结果为m/2* -1,否则,结果为(m-1)/2 * -1 + m -->(m + 1) / 2让你这么一讲解 我更迷糊了 真的
1-2+3-4+5-6+... ...99-N
=1+(3-2)+(5-4)+(7-6)+…… +(99-98)-N
=1+1×M-N
=M+1不知道你看懂没有....N是最后一个数 M是有多少个括号
第一题。规律,如果m为偶数,结果为m/2* -1,否则,结果为(m-1)/2 * -1 + m -->(m + 1) / 2
{
return (m / 2 + m % 2) * (m % 2 == 0 ? -1 : 1);
}
static int g1(int m)
{
int n = 0;
for (int i = 1; i <= m; i++)
{
if (i % 2 == 0) n = n - i;
else n = n + i;
}
return n;
}
static void Main(string[] args)
{
//第1题
for (int i = 0; i < 50; i++)
{
Console.WriteLine(g(i));//方法1
Console.WriteLine(g1(i));//方法2
}
}
if(n%2==0)
return -(n/2);//即-1*(n/2)
else
return n-(n-1)/2 ;//n-1为偶数 两两分组 结果都为-1,与分组数((n-1)/2)相乘,加上最后一位奇数
PS:先找数学规律,在设计算法
string ss = "";
for (int i = 0; i < 100; i++)
{
ss += (n * 10000000000 / 7).ToString();
n = n*10000000000%7; }
ss = ss.Insert(1, ".");
Console.WriteLine(ss);
{
return (m / 2 + m % 2) * (m % 2 == 0 ? -1 : 1);
}
static int g1(int m)
{
int n = 0;
for (int i = 1; i <= m; i++)
{
if (i % 2 == 0) n = n - i;
else n = n + i;
}
return n;
}
static void Main(string[] args)
{
//第1题
for (int i = 0; i < 50; i++)
{
Console.WriteLine(g(i));//方法1
Console.WriteLine(g1(i));//方法2
}
//第2题 long n = 22;
string ss = "";
for (int i = 0; i < 100; i++)
{
ss += (n * 10000000000 / 7).ToString();
n = n*10000000000%7; }
ss = ss.Insert(1, ".");
Console.WriteLine(ss);
}
你是用什么计算的,C#的/这个是整除,不会出现小数的,如果是javascript要取整parseInt这个方法取整
你是用什么计算的,C#的/这个是整除,不会出现小数的,如果是javascript要取整parseInt这个方法取整
恩恩。我面试完在网吧查收邮件呢,所以我没环境。
用的javascript。
int v2 = 7;
int s = v1 / v2; //取整
int mod = v1 % v2; //取余
Console.Write(s);
for(int i=0;i<1000;i++)
{
int v = mod*10;
s = v / v2;
mod = v % v2;
Console.Write(s);
}
Console.ReadKey();
else
n/2-n
function getSum(n)
{
return (n % 2 == 0) ? n / 2 + 1 : -n / 2;
}
function getSum(n)
{
return (n % 2 != 0) ? n / 2 + 1 : -n / 2;
}