小编Jay*_*Jay的帖子

查找一系列数字的最小公倍数

今天我读了一篇有趣的DailyWTF帖子,"Out of All the Possible Answers ...",我对它感兴趣,足以挖掘提交它的原始论坛帖子.这让我想到如何解决这个有趣的问题 - 最初的问题是在Project Euler上提出的:

2520是可以除以1到10中的每个数字而没有任何余数的最小数字.

可以被1到20的所有数字整除的最小数字是多少?

要将此作为一个编程问题进行改革,您将如何创建一个能够为任意数字列表找到最小公倍数的函数?

尽管我对编程很感兴趣,但我对纯数学的表现非常糟糕,但是我可以通过一些谷歌搜索和一些实验来解决这个问题.我很好奇SO用户可能采取的其他方法.如果你这么倾向,请在下面发布一些代码,希望还有一个解释.请注意,虽然我确定存在用于以各种语言计算GCD和LCM的库,但我更感兴趣的是比调用库函数更直接地显示逻辑的东西:-)

我最熟悉Python,C,C++和Perl,但您喜欢的任何语言都是受欢迎的.奖励积分,用于解释像我一样的其他数学挑战的人的逻辑.

编辑:提交后我确实发现这个类似的问题3个或更多数字的最小公倍数,但它回答了我已经想出的相同的基本代码,并没有真正的解释,所以我觉得这是不同的,足以让我们开放.

algorithm math lcm

20
推荐指数
4
解决办法
2万
查看次数

从电子邮件文本中解析"发件人"地址

我正在尝试从电子邮件的纯文本脚本中提取电子邮件地址.我拼凑了一些代码来查找地址本身,但我不知道如何区分它们; 现在它只是吐出文件中的所有电子邮件地址.我想这样做它只会吐出前面有"From:"和一些通配符的地址,并以">"结尾(因为电子邮件设置为From [name] <[email]> ).

这是现在的代码:

import re #allows program to use regular expressions
foundemail = []
#this is an empty list

mailsrch = re.compile(r'[\w\-][\w\-\.]+@[\w\-][\w\-\.]+[a-zA-Z]{1,4}')
 #do not currently know exact meaning of this expression but assuming
 #it means something like "[stuff]@[stuff][stuff1-4 letters]"

        # "line" is a variable is set to a single line read from the file
# ("text.txt"):
for line in open("text.txt"):

    foundemail.extend(mailsrch.findall(line))

    # this extends the previously named list via the "mailsrch" variable
      #which was named before

print …
Run Code Online (Sandbox Code Playgroud)

python string email parsing text

14
推荐指数
3
解决办法
9448
查看次数

使用C/C++在Windows(XP/2003)上创建ZIP文件

我正在寻找一种从Windows C/C++ API中的文件夹创建ZIP文件的方法.我可以使用Shell32.Application CopyHere方法找到在VBScript中执行此操作的方法,我找到了一个教程,解释了如何在C#中执行此操作,但C API没有任何内容(C++也很好,项目已经使用了MFC).

如果有人可以分享一些可以在Windows XP/2003上成功创建zip文件的示例C代码,我将非常感激.如果失败了,如果有人可以找到可靠的文档或教程,那将是很好的,因为MSDN搜索不会出现太多问题.我真的希望避免为此运送第三方库,因为功能显然存在,我只是无法弄清楚如何访问它.谷歌的搜索没有任何用处,只是引人入胜的信息.这里希望社区中有人对此进行整理,并为后人分享!

c++ zip winapi

11
推荐指数
3
解决办法
3万
查看次数

读取另一个进程的命令行参数(Win32 C代码)

我需要能够列出传递给其他正在运行的进程的命令行参数(如果有的话).我已经在系统上运行了进程的PID,所以基本上我需要确定传递给给定PID XXX的进程的参数.

我正在研究用于管理流程Python模块的核心部分.代码在C中编写为Python扩展,并将由更高级别的Python库包装.这个项目的目标是避免依赖于第三方库,例如pywin32扩展,或者在命令行上调用'ps'或taskkill等丑陋的黑客,所以我正在寻找一种在C代码中执行此操作的方法.

我已经用Google搜索了一些,并找到了一些简短的建议,使用CreateRemoteThread()将自己注入其他进程,然后运行GetCommandLine(),但我希望有人可能有一些工作代码示例和/或更好的建议.

更新:我在CodeProject上找到了使用NtQueryProcessInformation的完整工作演示代码和解决方案:http://www.codeproject.com/KB/threads/GetNtProcessInfo.aspx - 这是不理想的,因为"不支持"直接从中剔除信息NTDLL结构,但我会忍受它.感谢大家的建议.

更新2:我通过更多谷歌搜索来挖掘不使用C++代码的C版本,并且更直接/更简洁地指出了这个问题.有关详细信息,请参见http://wj32.wordpress.com/2009/01/24/howto-get-the-command-line-of-processes/.

谢谢!

c python winapi

9
推荐指数
2
解决办法
1万
查看次数

确定PID是否存在的快速方法(Windows)?

我意识到"快"有点主观所以我会用一些背景来解释.我正在研究一个名为psutil的Python模块,用于以跨平台的方式读取流程信息.其中一个功能是pid_exists(pid)用于确定PID是否在当前进程列表中的功能.

现在我这样做是显而易见的,使用EnumProcesses()来拉动进程列表,然后通过列表进行交互并查找PID.但是,一些简单的基准测试显示,这比基于UNIX的平台(Linux,OS X,FreeBSD)上的pid_exists函数要慢得多,我们使用kill(pid, 0)0信号来确定PID是否存在.额外的测试表明它的EnumProcesses几乎一直在占据.

任何人都知道比使用EnumProcesses更快的方法来确定PID是否存在?我尝试了OpenProcess()并检查是否有错误打开不存在的进程,但结果比通过EnumProcesses列表迭代慢了4倍,所以也是如此.还有其他(更好的)建议吗?

注意:这是一个Python库,旨在避免第三方lib依赖项,如pywin32扩展.我需要一个比我们当前代码更快的解决方案,它不依赖于pywin32或标准Python发行版中没有的其他模块.

编辑:澄清 - 我们很清楚,阅读过程中存在固有的竞争条件.如果在数据收集过程中进程消失或者遇到其他问题,我们会引发异常.pid_exists()函数无意替换正确的错误处理.

更新:显然我早期的基准测试存在缺陷 - 我用C语言编写了一些简单的测试应用程序,EnumProcesses的编写速度一直较慢,OpenProcess(与PID有效但过程已经停止时一起使用GetProcessExitCode)实际上要快得多而且速度慢.

c python winapi pid

8
推荐指数
2
解决办法
6483
查看次数

在Mac OS X中更改声音(或其他)系统首选项

我希望能够在没有任何GUI交互的情况下在Mac OS X中切换声音输出源.

有一些工具可以控制声音输出,例如SoundSource和一个AppleScript来打开首选项对话框.

我正在寻找的是立即切换首选项的东西,比如SoundSource,但它必须是可编写脚本的.目标是通过一次击键在我的数字和模拟输出之间切换.我有一个帮助应用程序,将在一个按键上启动程序或AppleScript.我现在需要的只是在没有任何用户交互的情况下快速切换声源的applescript或应用程序.

如果需要的话,我愿意写一些Objective-C,但我几乎是Cocoa开发的新手.

您是否有一键式解决方案或者可以指导我从Cocoa应用程序或命令行控制声音系统首选项的好教程?

编辑:我创建了一个命令行应用程序来完成这个.您可以在http://code.google.com/p/switchaudio-osx/downloads下载.源代码也可以在项目网站上找到.

macos scripting cocoa applescript

5
推荐指数
2
解决办法
7796
查看次数

标签 统计

python ×3

winapi ×3

c ×2

algorithm ×1

applescript ×1

c++ ×1

cocoa ×1

email ×1

lcm ×1

macos ×1

math ×1

parsing ×1

pid ×1

scripting ×1

string ×1

text ×1

zip ×1