搜索
有爱,有技术,有你^_^)y
╱人◕‿‿◕人╲订下契约(注册新用户)

合作站点账号登陆

QQ登录

只需一步,快速开始

快捷导航
查看: 1864|回复: 34
收起左侧

C语言作业楼。。欢迎吐槽。。

[复制链接]

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

158

主题

79

好友

2万

积分

第一章

积分
22632
发表于 2013-2-13 10:57:59 | 显示全部楼层 |阅读模式

╱人◕‿‿◕人╲定下契约

您需要 登录 才可以下载或查看,没有账号?╱人◕‿‿◕人╲订下契约(注册新用户)

x
本帖最后由 jiangguo2 于 2013-5-4 10:24 编辑

这是一只刚出生的猴子,这样
很久都没想起这个贴了(擦汗(贴一点之前写的吧(继续擦汗
2013。3。10
忘了是干什么的了(擦汗
#include <stdio.h>
#include<math.h>
int main(void)
{
int p=1,d=9;
while(d>=1){
p=2*(p+1);
d--;
}
printf("%d",p);
return 0;
}

output=1534

2013。2.27
某一天早晨,有一个猴子摘下了若干个桃子,当即就吃了一半,还不过瘾,又多吃了一个。第二天又将剩下的桃子吃了一半多一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天的时候再想吃的时,发现只剩下一个桃子了。这个贪吃的猴子第一天究竟摘了多少个桃子呢?
#include <stdio.h>
#include<math.h>
int main(void)
{
int p=1,d;
for(d=9;d>=1;d--)p=2*(p+1);
printf("%d",p);
return 0;
}
output:1534(right)

2013.2.25
输出100-200间的孪生质数
#include <stdio.h>
#include<math.h>
int P(int N)
{
int i,j;
j=(int)sqrt(N+1);
for(i=3;i<=j;i+=2)
{if(N%i==0)return 0;}
return 1;
}

int main(void)
{
int N,m,count=0;
for(N=101;N<=200;N+=2)
{
if (P(N)==1)
{
m=N;
N+=2;
if(P(N)==1)
{
printf("%d   ",m);
printf("%d\n",N);
count++;
}
N=N-2;
}
}
printf("%d\n",count);
return 0;
}
output:
101   103
107   109
137   139
149   151
179   181
191   193
197   199
7(right)

2013。2。13
斐波那契数列前100个数中是第(5*n+1)个数又是3的倍数的数的个数
#include<stdio.h>
int main(void)
{int a=1,b=0,i,count=0;/*溢出,换成long long后out put是4。。*/
for(i=2;i<=100;i++)
{if(i%5==1)
{if(a>=b){if(a%3==0)count++;}
else if(b%3==0)count++;}
if(a<b)a+=b;
else b+=a;
}
printf("%d\n",count);
return 0;
}
output 2
正确答案 5
没找到原因中。。
世间纷华不过一瞬执子之手难免抽离
回复

使用道具 举报

该用户从未签到

3

主题

50

好友

5293

积分

序章

积分
5293
发表于 2013-2-13 11:12:33 | 显示全部楼层
用int型的话会负溢出的噢

评分

参与人数 1宅币 +10 收起 理由
风音洛洛 + 10 o(* ̄▽ ̄*)ブ 发糖

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

37

好友

7533

积分

序章

积分
7533
发表于 2013-2-13 12:04:09 | 显示全部楼层
x满自溢了

评分

参与人数 1宅币 +5 收起 理由
风音洛洛 + 5 o(* ̄▽ ̄*)ブ 发糖

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

158

主题

79

好友

2万

积分

第一章

积分
22632
 楼主| 发表于 2013-2-13 13:39:21 | 显示全部楼层
世间纷华不过一瞬执子之手难免抽离
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

158

主题

79

好友

2万

积分

第一章

积分
22632
 楼主| 发表于 2013-2-13 13:39:31 | 显示全部楼层

太坑爹。。
世间纷华不过一瞬执子之手难免抽离
回复 支持 反对

使用道具 举报

签到天数: 9 天

连续签到: 1 天

[LV.3]偶尔看看II

39

主题

46

好友

9万

积分

版主

debug.moe

积分
95442
发表于 2013-2-13 19:47:24 | 显示全部楼层
楼主果断换long吧╮(╯_╰)╭
不行就long long。。。
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

158

主题

79

好友

2万

积分

第一章

积分
22632
 楼主| 发表于 2013-2-13 20:03:06 | 显示全部楼层
RangerCD 发表于 2013-2-13 19:47
楼主果断换long吧╮(╯_╰)╭
不行就long long。。。

换了啊还是错的TAT
世间纷华不过一瞬执子之手难免抽离
回复 支持 反对

使用道具 举报

签到天数: 9 天

连续签到: 1 天

[LV.3]偶尔看看II

39

主题

46

好友

9万

积分

版主

debug.moe

积分
95442
发表于 2013-2-13 20:31:21 | 显示全部楼层
jiangguo2 发表于 2013-2-13 20:03
换了啊还是错的TAT

楼主你给那个貌似溢出的数据加个条件语句,溢出了的就给个输出提示一下,看看是不是这个问题=。=
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

158

主题

79

好友

2万

积分

第一章

积分
22632
 楼主| 发表于 2013-2-13 21:06:27 | 显示全部楼层
RangerCD 发表于 2013-2-13 20:31
楼主你给那个貌似溢出的数据加个条件语句,溢出了的就给个输出提示一下,看看是不是这个问题=。= ...

。。诶多。。不会。。
世间纷华不过一瞬执子之手难免抽离
回复 支持 反对

使用道具 举报

签到天数: 9 天

连续签到: 1 天

[LV.3]偶尔看看II

39

主题

46

好友

9万

积分

版主

debug.moe

积分
95442
发表于 2013-2-13 23:32:42 | 显示全部楼层
jiangguo2 发表于 2013-2-13 21:06
。。诶多。。不会。。

就是每次a、b加完后判断下是不是小于0,如果是就说明还是溢出了
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

1

好友

1632

积分

Continue

积分
1632
发表于 2013-2-14 00:23:23 | 显示全部楼层
jiangguo2 发表于 2013-2-13 21:06
。。诶多。。不会。。

自己写个数据类型,用链表,然后实现下加减。模运算自己重载下。推荐更相损减术
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

37

好友

7533

积分

序章

积分
7533
发表于 2013-2-14 03:32:48 | 显示全部楼层
ls正解 如果会溢出的话就自己设计一个类似endless counter的数据结构 用linkedlist很容易实现 设一个local uplimit 满了就开一个新的linked list node 这样就不会正能量爆表啦
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

2

好友

1135

积分

Continue

积分
1135
发表于 2013-2-14 11:03:13 | 显示全部楼层
long long 的范围大概只有19位数,然后从第93个数就超出了long long,所以你可以用大数运算,简单来说就是用字符串存储,模拟手算过程,网上很多模板
61305790721611591--82
99194853094755497--83
160500643816367088--84
259695496911122585--85
420196140727489673--86
679891637638612258--87
1100087778366101931--88
1779979416004714189--89
2880067194370816120--90
4660046610375530309--91
7540113804746346429--92
12200160415121876738--93
19740274219868223167--94
31940434634990099905--95
51680708854858323072--96
83621143489848422977--97
135301852344706746049--98
218922995834555169026--99
354224848179261915075--100
签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

签到天数: 1 天

连续签到: 1 天

[LV.1]初来乍到

158

主题

79

好友

2万

积分

第一章

积分
22632
 楼主| 发表于 2013-2-14 17:02:01 | 显示全部楼层
a2659633 发表于 2013-2-14 11:03
long long 的范围大概只有19位数,然后从第93个数就超出了long long,所以你可以用大数运算,简单来说就是 ...

。。数列什么的果然还是交给纸笔比较好!!!
世间纷华不过一瞬执子之手难免抽离
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

50

好友

5293

积分

序章

积分
5293
发表于 2013-2-16 23:46:32 | 显示全部楼层
fib = [1,1]
for i in range(2,100):
    fib.append(fib[i-1]+fib[i-2])

count = 0

for i in range(0,100):
        if (i+1)%5 == 1:
                if fib[i]%3 == 0:
                        count += 1

lz同学要是搞不定数据结构可以先来玩玩py,看多简单就好了
为了容易明白一点没用py一些高级特性

点评

不要给新人推荐更高级的语言,那样会给新人惯出好逸恶劳的坏毛病。 另外,数列的演算应该是使用临时变量进行,不应该一开始就演算好。浪费内存  发表于 2013-2-17 16:11

评分

参与人数 1宅币 +10 贡献 +3 收起 理由
Mr_Alex + 10 + 3 →_→手滑

查看全部评分

签名被小宅喵吞掉了~~~~(>_<)~~~~
回复 支持 反对

使用道具 举报

本版积分规则

小黑屋|手机版|技术宅(Z站|基宅) ( 粤ICP备18082987号-1 )

GMT+8, 2025-7-8 01:54 , Processed in 0.169891 second(s), 28 queries , Redis On.

Copyright © 2018 技术宅社区

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表