没有合适的资源?快使用搜索试试~ 我知道了~
首页数据结构与算法数据结构与算法带例题
数据结构与算法数据结构与算法带例题
需积分: 9 103 浏览量
更新于2023-03-16
评论 1
收藏 160KB DOC 举报
数据结构与算法数据结构与算法数据结构与算法数据结构与算法数据结构与算法数据结构与算法数据结构与算法数据结构与算法数据结构与算法数据结构与算法数据结构与算法数据结构与算法数据结构与算法带例题
资源详情
资源评论
资源推荐

常见问题算法分析
常见问题算法分析........................................................................................................................ 1
1. 水仙花数问题.................................................................................................................... 2
2. 素数问题............................................................................................................................ 3
3. 九九乘法表问题................................................................................................................. 3
4. 完全数问题........................................................................................................................ 4
5. 回文数问题........................................................................................................................ 5
6. 进制转换问题.................................................................................................................... 6
7. 罗马数字和阿拉伯数字互译问题..................................................................................... 7
8. 约瑟夫环问题.................................................................................................................. 10
9. 阶乘问题.......................................................................................................................... 12
10. 特大数相乘问题............................................................................................................. 13
11. 定积分问题.................................................................................................................... 15
12. 钻石菱形问题................................................................................................................ 16
13. 药片整理问题................................................................................................................ 17
14. 12 小球问题.................................................................................................................... 19
15. 相邻数之和为素数问题................................................................................................. 22
16. 着色问题........................................................................................................................ 24

1. 水仙花数问题
水仙花数是这样的数:各位数字的立方和恰好等于其自身的三位正整数。
using System;
class Program
{
static void Main(string[] args)
{
int num;
while (true)
{
Console.Write("请输入一个三位数:");
num = int.Parse(Console.ReadLine());
if ((num >= 100) && (num < 1000))
{
break;
}
}
int a = num / 100;
int b = num / 10 % 10;
int c = num % 10;
if (num == a * a * a + b * b * b + c * c * c)
{
Console.WriteLine("{0}是一个水仙花数", num);
}
else
{
Console.WriteLine("{0}不是一个水仙花数", num);
}
}
}

2. 素数问题
素数是这样的数:只能被 1 和其自身所整除的正整数。
using System;
class Program
{
static void Main(string[] args)
{
int i, k, num;
Console.Write("请输入一个三位数:");
num = int.Parse(Console.ReadLine());
k = (int)Math.Sqrt(num);
for (i = 2; i <= k; i++)
{
if (num % i == 0)
{
break;
}
}
if (i > k)
{
Console.WriteLine("{0}是一个素数", num);
}
else
{
Console.WriteLine("{0}不是一个素数", num);
}
}
}
3. 九九乘法表问题
输出下三角形的九九乘法表。
using System;
class Program

{
static void Main(string[] args)
{
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write("{0}*{1}={2} ", j, i, j * i);
if (j * i < 10)
{
Console.Write(" ");
}
}
Console.WriteLine();
}
}
}
4. 完全数问题
完全数是这样的数:小于自身的因子之和恰好等于其自身的正整数。
using System;
class Program
{
static void Main(string[] args)
{
int num, sum = 0;
Console.Write("请输入一个数:");
num = int.Parse(Console.ReadLine());
for (int i = 1; i < num; i++)
{
if (num % i == 0)
{
sum += i;
}
}
if (num == sum)
{

Console.WriteLine("{0}是一个完全数", num);
}
else
{
Console.WriteLine("{0}不是一个完全数", num);
}
}
}
5. 回文数问题
回 文 数 是 这 样 的 数 : 高 位 数 字 部 分 和 低 位 数 字 部 分 左 右 对 称 。 如
1、232、41214、8754578 等都是回文数。
将 num 的各位数字按低位数字存放在数组低下标的原则分别存放,然后从数组两端相
向移动,判断两端的数组元素是否相等以判定该数是否是回文数。
using System;
class Program
{
static void Main(string[] args)
{
int num, temp;
int[] arr = new int[100];
int i, end = 0;
Console.Write("请输入一个数:");
num = int.Parse(Console.ReadLine());
temp = num;
while (temp != 0)
{
arr[end++] = temp % 10;
temp /= 10;
}
for (i = 0; i <= end / 2; i++)
{
if (arr[i] != arr[end - 1 - i])
{
break;
}
}
剩余28页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0