问题列表 - 第41651页

找出因素的总和

为什么这段代码会返回一个数字因子的总和?

在几个Project Euler问题中,您被要求计算因子的总和作为问题的一部分.在那里的一个论坛上,有人发布了以下Java代码作为查找总和的最佳方式,因为你实际上不需要找到个别因素,只需要找到主要因素(你不需要知道Java,你可以跳到下面的摘要):

public int sumOfDivisors(int n)
{
    int prod=1;
    for(int k=2;k*k<=n;k++){
        int p=1;
        while(n%k==0){
            p=p*k+1;
            n/=k;
        }
        prod*=p;
    }
    if(n>1)
        prod*=1+n;
    return prod;
}
Run Code Online (Sandbox Code Playgroud)

现在,我已经尝试了很多次,我发现它有效.问题是,为什么?

说你因素100: 1,2,4,5,10,20,25,50,100.总和是217.主要因素分解是2*2*5*5.这个功能给你[5*(5+1)+1]*[2*(2+1)+1] = [25+5+1]*[4+2+1] = 217

保理8:1,2,4,8.总和是15.主要因素分解是2*2*2.这个功能给你[2*(2*(2+1)+1)+1]=15

该算法归结为(Fi用于表示因子F或F sub i的第i个索引):

return product(sum(Fi^k, k from 0 to Ni), i from 1 to m)
Run Code Online (Sandbox Code Playgroud)

其中m,唯一素因子Ni的数量是每个唯一因子在素数因子分解中出现的次数.

为什么这个公式等于因子的总和?我的猜测是,它等于通过分配属性的每个独特的素因子组合(即每个独特因子)的总和,但我不知道如何.

math sum factors number-theory

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

填写程序

Python的随机模块中的randint(a,b)函数返回a到b范围内的"随机"整数,包括两个端点.填写下面函数中的空白,该空白创建并返回0和1的长度为n的随机字符串.

from random import randint:
def randString01(n):
    _________________
    _________________
    for count in range(n):
        __________________
    return________________
Run Code Online (Sandbox Code Playgroud)

(编辑::导入语句的末尾不属于;但是,如原始问题中所示.)

...到目前为止,我发现如何将n变成n长度的字符串(所以n n的字符串)我想知道randint适用于哪里?到目前为止我有

from random import randint
def randString01(num): 
    x = str() 
    count = num 
    while count >0: 
        if randint(0,1) == 0: 
            append.x(0)   
        else: 
            append.x(1) 
        count -= 1
    x=str(x) 
    return x
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我该怎么办?

python

0
推荐指数
1
解决办法
349
查看次数

试图将MEGAM用作NLTK ClassifierBasedPOSTagger?

我目前正在尝试使用NLTK构建一个通用(或一般的实用)POS标记器.我已经涉足棕色和树库语料库进行训练,但可能会在树库语料库中定居.

随着我的学习,我发现分类器POS标签是最准确的.最大实体分类器意味着最准确,但我发现它使用了大量内存(和处理时间),我必须大大减少训练数据集,因此最终结果不如使用默认的朴素贝叶斯分类器.

有人建议我使用MEGAM.NLTK对MEGAM有一些支持,但我发现的所有例子都是针对一般分类器(例如,使用单词特征向量的文本分类器),而不是更具体的POS标记器.无需重新创建我自己的POS功能提取器和编译器(即我更喜欢使用已经在NLTK中的那个),我如何使用MEGAM MaxEnt分类器?IE浏览器.我怎么能把它放在一些现有的MaxEnt代码中:

maxent_tagger = ClassifierBasedPOSTagger(train=training_sentences,
                                        classifier_builder=MaxentClassifier.train )
Run Code Online (Sandbox Code Playgroud)

python nlp nltk pos-tagger

5
推荐指数
1
解决办法
2424
查看次数

c#webcontrol - 如何动态加载html?

我想使用c#的webbrowser组件加载HTML.我查找了MSDN,但我找不到任何可以将字符串(HTML)加载到webbrowser组件中的内容.我只看到一个加载URL的navigate()方法.

所以..如果可能,我想要以下内容

String htmlcontent = "<html><head><title>test</title></head><body>my content here</body></html>";

webBrowser1.load(htmlContent) 
Run Code Online (Sandbox Code Playgroud)

像这样的东西..我加载没有load()方法.

c# browser

4
推荐指数
1
解决办法
6486
查看次数

Rails:为什么"格式化"(正则表达式)验证失败?

我有以下产品价格验证:

class Product < ActiveRecord::Base
    ...
    PRICE_REGEX = /^([1-9]\d{0,5}|0)(\.\d{1,2})?$/
    validates :price, :presence => true, :format => PRICE_REGEX
    ...
end
Run Code Online (Sandbox Code Playgroud)

它应该允许价格0999999.99.

但是,如果我输入hello,则验证通过,并0.00保存在数据库中.

:presence验证工作正常.

我在这里错过了什么?

regex validation ruby-on-rails ruby-on-rails-3

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

为什么“ c.execute(...)”会中断循环?

我正在尝试更改sqlite3文件中的一些数据,而我在python和google-fu中不存在的知识使我最终获得了以下代码:

#!/usr/bin/python
# Filename : hello.py

from sqlite3 import *

conn = connect('database')

c = conn.cursor()

c.execute('select * from table limit 2')

for row in c:
    newname = row[1]
    newname = newname[:-3]+"hello"
    newdata = "UPDATE table SET name = '" + newname + "', originalPath = '' WHERE id = '" + str(row[0]) + "'"
    print row
    c.execute(newdata)
    conn.commit()
c.close()
Run Code Online (Sandbox Code Playgroud)

它在第一行上像超级按钮一样工作,但是由于某种原因,它只运行一次循环(仅修改表中的第一行)。当我删除“ c.execute(newdata)”时,它将按需循环遍历表中的前两行。我该如何运作?

python sqlite

3
推荐指数
1
解决办法
3199
查看次数

如何通过sms消息获取联系信息

我正在开发一个扩展的SMS应用程序.现在我可以阅读mmssms.db中的所有短信.在SMS数据库表中,字段"person"表示联系人表中的"_id".当'person'> = 1时,这意味着该消息是从联系人列表中的人发送的.所以我可以从联系表'managedQuery'.但问题是,在我的手机中,测试程序有时甚至无法查询联系信息甚至'人'> = 1.那么有人可以告诉我一些正确的方法来查询短信表中提交的"人"的联系信息吗?以下是一些示例代码,可以使我的问题更清晰:

class ContactItem {  
    public String mName;  
}  

    ContactItem getContact(Activity activity, final SMSItem sms) {  
        if(sms.mPerson == 0) return null;  
        Cursor cur = activity.managedQuery(ContactsContract.Contacts.CONTENT_URI,   
                new String[] {PhoneLookup.DISPLAY_NAME},   
                " _id=?",   
               new String[] {String.valueOf(sms.mPerson)}, null);  
       if(cur != null &&  
           cur.moveToFirst()) {  
           int idx = cur.getColumnIndex(PhoneLookup.DISPLAY_NAME);  
           ContactItem item = new ContactItem();  
           item.mName = cur.getString(idx);  
           return item;  
       }  
       return null;  
   }  
Run Code Online (Sandbox Code Playgroud)

android

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

使用python播放简单的蜂鸣声,无需外部库

仅使用标准python 2.6安装附带的模块,是否可以发出简单的哔声?

python noise playback

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

为什么sort是jQuery UI .sortable()触发的唯一事件?

我有一个简单的代码示例@ http://jsbin.com/ukiwo3/edit

它有2个连接列表和一组绑定事件.我希望我错过了一些基于http://jqueryui.com/demos/sortable/的简单事件我认为当我拖动并重新排序问题时,我应该看到所有这些事件被触发.目前只将日志排序到控制台.

任何人都可以告诉我什么是错的,如何让其他人解雇?

谢谢,丹尼斯

javascript jquery jquery-ui jquery-ui-sortable

1
推荐指数
1
解决办法
2863
查看次数

在加载页面的所有元素之前加载Chrome扩展程序

我想在页面的所有元素加载之前(而不是之后)加载我的Chrome扩展程序.这可能吗?谢谢!

javascript google-chrome google-chrome-extension

4
推荐指数
1
解决办法
3529
查看次数