C语言作业楼。。欢迎吐槽。。
本帖最后由 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
没找到原因中。。 用int型的话会负溢出的噢#26x x满自溢了:90: jingyixx 发表于 2013-2-13 11:12 static/image/common/back.gif
用int型的话会负溢出的噢
卧槽,我讨厌int。。 刘巧弟 发表于 2013-2-13 12:04 static/image/common/back.gif
x满自溢了
太坑爹。。 楼主果断换long吧╮(╯_╰)╭
不行就long long。。。 RangerCD 发表于 2013-2-13 19:47 static/image/common/back.gif
楼主果断换long吧╮(╯_╰)╭
不行就long long。。。
换了啊还是错的TAT jiangguo2 发表于 2013-2-13 20:03 static/image/common/back.gif
换了啊还是错的TAT
楼主你给那个貌似溢出的数据加个条件语句,溢出了的就给个输出提示一下,看看是不是这个问题=。= RangerCD 发表于 2013-2-13 20:31 static/image/common/back.gif
楼主你给那个貌似溢出的数据加个条件语句,溢出了的就给个输出提示一下,看看是不是这个问题=。= ...
。。诶多。。不会。。 jiangguo2 发表于 2013-2-13 21:06 static/image/common/back.gif
。。诶多。。不会。。
就是每次a、b加完后判断下是不是小于0,如果是就说明还是溢出了 jiangguo2 发表于 2013-2-13 21:06 static/image/common/back.gif
。。诶多。。不会。。
自己写个数据类型,用链表,然后实现下加减。模运算自己重载下。推荐更相损减术 ls正解 如果会溢出的话就自己设计一个类似endless counter的数据结构 用linkedlist很容易实现 设一个local uplimit 满了就开一个新的linked list node 这样就不会正能量爆表啦:31: 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 a2659633 发表于 2013-2-14 11:03 static/image/common/back.gif
long long 的范围大概只有19位数,然后从第93个数就超出了long long,所以你可以用大数运算,简单来说就是 ...
。。数列什么的果然还是交给纸笔比较好!!! fib =
for i in range(2,100):
fib.append(fib+fib)
count = 0
for i in range(0,100):
if (i+1)%5 == 1:
if fib%3 == 0:
count += 1
lz同学要是搞不定数据结构可以先来玩玩py,看多简单就好了#26x
为了容易明白一点没用py一些高级特性