python遇到一个算法题 , 顺手做了 ,但是跑不出结果......

def d(i):
    sumInt = 0
    sumInt = sumInt + start if i % start == 0 for start in range(1,i)
    return sumInt

print(str(sum([d(i) for i in range(1, 10**12)]))[-12:])

  求1<=i<=10**12范围内所有d(i)的和的末12位,d(i)表示i的正约数的和,i为整数

时间: 2024-12-20 12:05:33

python遇到一个算法题 , 顺手做了 ,但是跑不出结果......的相关文章

(关于一个算法题的两点新思路)给你一组字符串 如 {5,2,3,2,4,5,1,2,1,5},让你输出里面出现次数最多且数值最大的一个,出现几次

在网上看到一个算法题,不是很难,搜一下也有解决办法,但是一般都是几层for循环,试着写了下 /** * 给你一组字符串 如 {5,2,3,2,4,5,1,2,1,5},让你输出里面出现次数最多且数值最大的一个,出现几次 * 优点:时间复杂度为O(n) * 缺点:产生一些多余的空间,如 6,7,8没有的数也会分配一个数组空间,但是基本可以忽略 * 限制:需要预先知道最大的值是多少,或者说小于多少,这样才好确定预先分配一个数组长度是多少 */ public static void method1()

【算法题】用最少的砝码称出1到100克的物品

题目描述: 给定一个天平,用最少的砝码称出1到100克的物品,砝码重量任选 假设物品放在右边,砝码可以放在左边或者右边,那么有:放在左边砝码的重量 = 放在右边砝码的重量 + 物品的重量,即 放在左边砝码的重量 - 放在右边砝码的重量 = 物品的重量. 假设砝码放在左边用'+'表示,放在右边用'-'表示.那么容易知道∑±ai(ai取'+'.'-'或不取,三种情况)表示所有可能的情况. 给出一种方案:1.3.9.27.81(想想为什么底数取3???) 容易知道4个砝码∑±ai最多有34 = 81中

python每日经典算法题5(基础题)+1(中难题)

现在,越来越多的公司面试以及考验面试对算法要求都提高了一个层次,从现在,我讲每日抽出时间进行5+1算法题讲解,5是指基础题,1是指1道中等偏难.希望能够让大家熟练掌握python的语法结构已经一些高级函数的应用.这些题目是在某些刷题的网站上登记的有水平的题目.这里如果有需要input的简单题,就略去了输出结果.如果时间充裕,则就会增加每日更多习题. 一:基础算法题10道 1.判断用户输入的年份是否为闰年 题目解析: (1)问题分析:能被4整除但不能被100整除的年份为普通闰年,能被400整除的年

python每日经典算法题5(基础题)+1(较难题)

一:基础算法题5道 1.阿姆斯特朗数 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数.判断用户输入的数字是否为阿姆斯特朗数. (1)题目分析:这里要先得到该数是多少位的,然后再把每一位的数字截取出来,把各位数字的n次方之和和该数一起判断即可.(2)算法分析:python中有len()函数可以得到一个字符串的长度,因此需要先把一个正整数转化为正整数字符串.然后从高位向低位截取(也可以反过来).或者高效算法利用for循环切片. 从高位到低位:用正整数除了10的n次方,得到的商就

一个算法题,又是小明。囧

第一次写博客文章,有点小紧张.若是有什么错误还望众大神指点.为了备战下个月的蓝桥杯,苦战算法题,觉得有一道题不错,就拿来分享一下. 原文如下:地宫取宝,X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签.地宫的入口在左上角,出口在右下角.小明被带到地宫的入口,国王要求他只能向右或向下行走.走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿).当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可

2015阿里秋招其中一个算法题(经典)

写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值.请注意程序效率 这是2015阿里秋招的一个在线笔试题 实现方法很简单,遍历一遍二叉树,找出最大最小,一相减就可以求出最大的差值 之前在做题的时候居然写递归的方法求值,后面测试了一下,果然结果不对 只要是非递归的的方法遍历都可以很容易找出最大值最小值,效率也比较高,时间复杂度为O(n). 下面是我用非递归从上往下遍历二叉树的方法 用队列容器即可方便实现. 我写的代码: #include

一个算法题:括号匹配问题。

问:给予一个字符串为:']]][]]]][[[[[[]]]]',请写出程序求出其有多少对'[]'? 一般这种问题都是想让你通过数据结构去处理,仔细回想一下我们学过的数据结构,栈的先进后出是否能处理这个问题?将字符串遍历,遇到左方括号 '[' 时将其压入栈中,遇到右方括号 ']'时取出栈顶元素匹配,并将对数加1,这样最后我们就求出来能有多少对方括号了. 栈的示意图: 流程图: 通过分析,我们使用PHP编码实现这个功能: //括号匹配问题 $str = ']]][]]]][[[[[[]]]]'; /

python基本算法题(一)

1.3位水仙花数计算 "3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身. 例如: ABC是一个“3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC. 使用Python,输出所有的3位水仙花数. >>> for i in range(100,1000): if pow(i // 100 , 3) + pow(i % 10 , 3) + pow(i // 10 % 10, 3) == i: print(i,end=" ") &g

一道有趣的算法题:仿照Excel的列编号,给定一个数字,输出该列编号字符串

       By Long Luo 最近遇到一个算法题: 仿照Excel的列编号,给出一个数字,输出该列编号字符串. 例如:A对应1,Z对应26,AA对应27,AZ对应52 ...... 这个题目是一个典型的26进制思路去处理,但是这个题目里面有很多陷阱,在1, 26, 52等特殊情况进行考虑,经过晚上接近1个小时的编写,完成的代码如下: C++代码如下: #include <iostream> #include <string.h> using namespace std; /