注:本篇文章,未在联系作者以及得到许可的情况下, 禁止以任何形式进行转载。
By:Anders Mail:katrina520@163.com
最近帮某人解答题目,汗...头大,都是些基础题,貌似问的新手还是蛮多的,就发些上来。
题目:
(1)输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1×2×2×3
using
System;
class Test
{
static void Main()
{
int sum;
Console.Write( " 输入一个数字: " );
sum = Int32.Parse(Console.ReadLine());
Console.Write( " 1 " );
for ( int i = 2 ;i < sum;i ++ )
{
if (sum % i == 0 )
{
Console.Write( " *{0} " ,i);
sum /= i;
i -- ; // 可有可无,但是有了后增加了从小到大分解,能被2整除的话再试一次被2整除,比如1*2*2*3 没i--的话就变成1*2*3*2
}
}
Console.WriteLine( " *{0} " ,sum);
}
}
class Test
{
static void Main()
{
int sum;
Console.Write( " 输入一个数字: " );
sum = Int32.Parse(Console.ReadLine());
Console.Write( " 1 " );
for ( int i = 2 ;i < sum;i ++ )
{
if (sum % i == 0 )
{
Console.Write( " *{0} " ,i);
sum /= i;
i -- ; // 可有可无,但是有了后增加了从小到大分解,能被2整除的话再试一次被2整除,比如1*2*2*3 没i--的话就变成1*2*3*2
}
}
Console.WriteLine( " *{0} " ,sum);
}
}
(2)求1!+3!+5!+7!...+15!的值。
using
System;
class Test
{
static void Main()
{
double k = 1 ,p = 0 ;
for ( int i = 1 ;i <=1 5 ;i += 2 )
{
for ( int j = 1 ;j <= i;j ++ )
k *= j;
p += k;
k = 1 ; // k如果不变回初始值1的话 会与k*=j发生算法的错误,就不再做阶乘算法了
}
Console.WriteLine( " 1!+3!+5!+7!...+15!={0} " ,p);
}
}
class Test
{
static void Main()
{
double k = 1 ,p = 0 ;
for ( int i = 1 ;i <=1 5 ;i += 2 )
{
for ( int j = 1 ;j <= i;j ++ )
k *= j;
p += k;
k = 1 ; // k如果不变回初始值1的话 会与k*=j发生算法的错误,就不再做阶乘算法了
}
Console.WriteLine( " 1!+3!+5!+7!...+15!={0} " ,p);
}
}
这篇博客介绍了如何使用C#编程解决两个基础数学问题:一是将输入的自然数转化为各因子的连乘形式,二是计算从1开始到指定奇数的所有奇数阶乘的和。

739

被折叠的 条评论
为什么被折叠?



