求 C# 【算法】 【123 变为 321】

ONE-PIECE 2013-06-28 11:07:43
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】
求 C# 【算法】 【123 变为 321】


...全文
681 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
mnxm 2013-07-01
  • 打赏
  • 举报
回复

        static int Reverse(int num)
        {
            int dest_num = 0;
            while(num > 0)
            {
                dest_num *= 10;
                dest_num += (num % 10);
                num /= 10;
            }
            return dest_num;
        }
完美算法 2013-07-01
  • 打赏
  • 举报
回复
引用 16 楼 Mark_ZYW 的回复:
不允许转化为字符串

if(a==123) return 321
完美算法 2013-07-01
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
if(a=="123") return "321";
满足楼主要求 +20
zorou_fatal 2013-06-30
  • 打赏
  • 举报
回复
Try stack.
geass 2013-06-30
  • 打赏
  • 举报
回复
由于电脑没有装 VS,只有 EditPlus 只能用大概写下。用 js 测试过。

<script>
	var a = 123456789;
	var count = 0;
	var array = [];
	var result = 0;
	while (a / 10 > 1)
	{
		c = a % 10;
		a = a / 10;
		array[count] = parseInt(c);
		count++
	}
	array[count] = parseInt(a % 10);
    for (var i = 0; i < array.length; i++)
    {
		var power = array.length - 1  - i;		
		result += array[i] * Math.pow(10,power)
    }
	alert(result);
  </script>

public int Reverse(int num)
{
	if (num <= 10)
	{
		return 0;
	}
	int count = 0;
	List<int> array = new List<int>();
	int result = 0;
	while (num / 10 > 1)
	{
		int c = num % 10;
		num = num / 10;
		array[count] = c;
		count++
	}
	array[count] = num % 10;
	for (var i = 0; i < array.Count; i++)
	{
		int power = array.length - 1 - i;		
		result += array[i] * Math.Pow(10,power)
	}
	return result;
}
ONE-PIECE 2013-06-30
  • 打赏
  • 举报
回复
不允许转化为字符串
Conmajia 2013-06-29
  • 打赏
  • 举报
回复
引用 11 楼 xfyxq 的回复:
[quote=引用 1 楼 sp1234 的回复:] if(a=="123") return "321";
从算法上来说,这个算法是最快的。[/quote]==帮你做了多少事?
Conmajia 2013-06-29
  • 打赏
  • 举报
回复
return "123".Reverse();
m_obj 2013-06-29
  • 打赏
  • 举报
回复
String.Reverse 倒序
xfyxq 2013-06-29
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
if(a=="123") return "321";
从算法上来说,这个算法是最快的。
  • 打赏
  • 举报
回复
其实很具体的编程技术也许不重要,重要地首先是你采取什么工程思想。
  • 打赏
  • 举报
回复
感觉到“晕”的人,一定没有了解过极限编程技术。我建议找两本Kent Beck在十年前的书看看(最近5年他的著作明显变烂了)
wid999 2013-06-29
  • 打赏
  • 举报
回复
最二简单的算法: 把第一个Char和第三个Char互换下。 第一简单的是sp的算法
wonkju 2013-06-29
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
if(a=="123") return "321";
我晕...
threenewbee 2013-06-28
  • 打赏
  • 举报
回复
string s = "123"; s = new string(s.Reverse().ToArray());
vo__ov 2013-06-28
  • 打赏
  • 举报
回复
引用 4 楼 u011130289 的回复:
[quote=引用 1 楼 sp1234 的回复:] if(a=="123") return "321";
真为神算法[/quote] 好有喜感~
Regan-lin 2013-06-28
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
if(a=="123") return "321";
真为神算法
Regan-lin 2013-06-28
  • 打赏
  • 举报
回复
用数组装了倒回来读!
q107770540 2013-06-28
  • 打赏
  • 举报
回复
如果没猜错的话,这应该是楼主的面试题,字符串倒置 有时我在面试别人时,也喜欢问这个
  • 打赏
  • 举报
回复
if(a=="123") return "321";
它通过读取 Excel 表格中的业务数据,结合 Word 模板,自动生成多个独立的合同文件,并自动处理了表格中“合计”行的合并与中文大写金额转换。 资源名称:合同文档自动化生成脚本 (1.py) 名字真是乱起 核心功能:Excel 数据读取 → Word 模板渲染 → 表格单元格合并与金额处理 → 批量导出 Word 文档。 适用场景:财务、销售或行政部门需要根据订单或业务明细,批量制作格式统一的合同、报价单或结算单。 1. 自动把“钱”变成“大写” 它干了啥:它内置了一个翻译功能,专门把阿拉伯数字(比如 100.50)自动转换成财务专用的中文大写(比如 壹佰元伍角)。 为什么有用:写合同最怕手滑写错金额,或者大写格式不对。这个功能全自动搞定,既标准又不会出错。 2. 自动“装修”表格底部 它干了啥:生成文档后,它会自动找到表格的最后一行,把前几列合并成一个大格子,写上“合计:XXX(大写金额)”,并在最右边填上具体的数字总额。 为什么有用:平时我们做完表格,还得手动去合并单元格、算总数、填大写,非常繁琐。这个脚本直接一步到位,把表格收尾工作做得漂漂亮亮。 3. 像“发传单”一样批量做合同 它干了啥:它会看你的 Excel 表格,按照“编号”把数据归类。 如果是同一个编号的货物,它会把它们塞进同一个合同里(比如一个客户买了三样东西,会自动列三行)。 如果是不同的编号,它就生成不同的合同文件。 为什么有用:不管你有一百个还是一千个订单,它都能自动拆分,给每个客户生成一份独立的、内容准确的合同,完全不用人工去复制粘贴。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧