版块导航
正在加载中...
客户端APP下载
论文辅导
申博辅导
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
其它
»
Euler 工程第十六题:2的1000次方的各项和
2
1/1
返回列表
查看: 1952 | 回复: 14
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
本帖产生 2 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
holmescn
金虫
(正式写手)
程序强帖: 37
应助: 1
(幼儿园)
金币: 1918.8
散金: 275
红花: 1
帖子: 699
在线: 102.6小时
虫号: 913482
注册: 2009-11-26
性别: GG
专业: 凝聚态物性 II :电子结构
★ ★
微尘、梦想(金币+2, 程序强帖+1): 谢谢交流讨论! 2011-05-29 16:21:27
和楼上算法一样,用C实现了一下。不过,如果用4或者8作为底数,应该会快一点点。
当然不用的话,也不慢。
CODE:
#include
int main(int argc, char** argv) {
char digits[500];
int len = 1;
int c = 0;
int r = 0;
int i, j;
digits[0] = 1;
for (i = 0; i < 1000; i++) {
c = 0;
for (j = 0; j < len; j++) {
r = digits[j]*2 + c;
c = r / 10;
digits[j] = r % 10;
}
if(c > 0) {
digits[len] = c;
len += 1;
}
}
printf("digits len = %d\n", len);
r = 0;
for(i = len - 1; i >= 0; i--) {
r += digits[i];
printf("%d", digits[i]);
}
printf("\nsum = %d\n", r);
return 0;
}
赞
一下
(1人)
回复此楼
13楼
2011-05-27 17:01:32
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
智能机器人
Robot
(super robot)
我们都爱小木虫
找到一些相关的精华帖子,希望有用哦~
Euler 工程 第四十四题
已经有4人回复
Euler 工程 第四十二题: 三角词
已经有4人回复
初试OpenMP
已经有1人回复
Euler 工程 第四十一题
已经有5人回复
Euler 工程 第三十九题:最多的直角三角形
已经有2人回复
Euler 工程 第三十八题
已经有9人回复
Euler 工程 第三十七题
已经有6人回复
Euler 工程 第三十六题:
已经有18人回复
Euler 工程 第三十五题:循环质数
已经有16人回复
Euler 工程 第三十二题:pandigital 数
已经有3人回复
Euler 工程 第三十一题: 换零钱
已经有10人回复
Euler 工程 第三十题
已经有12人回复
Euler 工程 第十九题:每月第一天是周日的天数
已经有4人回复
Euler 工程 第十八题:三角阵上最大的和
已经有12人回复
Euler Project Q17. 欧拉工程第十七题
已经有4人回复
Euler 工程 第十五题:从左上角到右下角有多少条路?
已经有5人回复
Euler Project Q13 欧拉工程第十三题
已经有20人回复
Euler Project Q12 欧拉工程第十二题
已经有23人回复
Euler 工程 第十一题:相邻元素乘积最大
已经有10人回复
Euler 工程 第十题:计算小于2百万的所有质数的和
已经有6人回复
【课件】最优化理论(加拿大维多利亚大学)
已经有18人回复
点击这里搜索更多相关资源
科研从小木虫开始,人人为我,我为人人
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
散金: 2709
红花: 18
沙发: 1
帖子: 1915
在线: 1537.1小时
虫号: 772953
注册: 2009-05-17
性别: GG
专业: 凝聚态物性 II :电子结构
★ ★ ★
小木虫(金币
+0.5
):给个红包,谢谢回帖
微尘、梦想(金币+2, 程序强帖+1): 谢谢交流讨论! 2011-05-29 16:22:05
楼上的看着很不错
这里贴个丑陋的代码 时间0.0000s
CODE:
1366
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376
elapsed time=0.000000 seconds.
代码:
CODE:
#include
#include
#include
#define TIMERSTART clock_t start_time,stop_time;double elapsed_time;start_time = clock();
#define TIMERSTOP stop_time = clock();elapsed_time=(double)(stop_time-start_time)/CLOCKS_PER_SEC;printf("elapsed time=%f seconds.\n",elapsed_time);
#define N 100
static int num[N];
void multiply(int n) {
int i=0,tmp,residual=0;
for(i=0;i
tmp=num[i]*n+residual;
num[i]=tmp%10000;
residual=(tmp-num[i])/10000;
}
return;
}
int euler16(int n){
int i,sum=0;
for(i=1;i
multiply(2);
}
for(i=0;i
sum+=(num[i]/1000+(num[i]%1000)/100+(num[i]%100)/10+num[i]%10);
}
return sum;
}
int main(void){
int i;
TIMERSTART;
num[0]=1;
printf("%d\n",euler16(1000));
for(i=N-1;i>=0;i--){
printf("%04d",num[i]);
}
printf("\n");
TIMERSTOP;
return 0;
}
赞
一下
(2人)
回复此楼
14楼
2011-05-27 21:05:42
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
相关版块跳转
第一性原理
量子化学
计算模拟
分子模拟
仿真模拟
程序语言
我要订阅楼主
holmescn
的主题更新
2
1/1
返回列表
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定