求助
本帖最后由 洛十三 于 2024-7-10 19:29 编辑求斐波拉契数列的前二十项之和。
不用排序,把一个数组中的负数放置在数组的前面
求一个一维数组中第二大的元素,不允许排序
求出一个数组中连续的子数组之和中的最大值。
假设有一个数组a,能不能从数组a中任选M个元素(M<=N),使其和为K。
同学,自己的作业要自己做
让别人帮你写作业,这样很不好
人造人 发表于 2024-7-10 19:55
同学,自己的作业要自己做
让别人帮你写作业,这样很不好
//求斐波拉契数列的前二十项之和。
#include<stdio.h>
int main()
{
int sum;
int a={1};
printf("前二十项之和为:");
scanf("%d",&sum);
int i;
for(i=2;i<20;i++)
{
if(a==a+a)
{
printf("%d",sum);
}
}
}
尽力了,求大佬指点 同学,自己的作业要自己做{:10_256:} num1 = input("请输入第一个整数:")
num2 = input("请输入第二个整数:")
x=int(num1)
y=int(num2)
if x < y:
print("第一个数比第二个数小!")
if x > y:
print("第一个数比第二个数大!")
if x == y:
print("第一个数和第二个数一样大!")
请教大佬这个代码哪里有问题
Q1:
#include<stdio.h>
int main()
{
long long sum=0;
long long a={1};
//scanf("%d",&sum);
printf("前二十项之和为:");
int i;
for(i=2;i<=20;i++)
{
a=a+a;
sum+=a;
}
printf("%lld\n", sum);
}
这个数列可能有很多定义,例如从 0 开头从 1 开头均有,可以自己修改。
Q2:
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a,t,tot=-1;
for (int i=0;i<n;++i) scanf("%d",&a);
for (int i=0;i<n;++i) if(a<0) t[++tot]=a;
for (int i=0;i<n;++i) if(a>=0) t[++tot]=a;
for (int i=0;i<n;++i) printf("%d ", t);
}
Q3:
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int a,mx1=0,mx2=0;
for (int i=0;i<n;++i) {
scanf("%d",&a);
if (a >= mx1) {
mx2 = mx1;
mx1 = a;
} else if (a >= mx2) {
mx2 = a;
}
}
printf("%d %d\n", mx1, mx2);
}
Q4:
#include<stdio.h>
#define max(a,b) (a>b?a:b)
int main()
{
int n;
scanf("%d",&n);
int a,ans={},res=0;
for (int i=0;i<n;++i) {
scanf("%d",&a);
if(i)ans=max(ans+a,a);
else ans=a;
res=max(res,ans);
}
printf("%d\n",res);
}
Q5:
你这个问题有点复杂啊,如果可以的话,可以用动态规划(背包问题),还是不行可以考虑用生成函数。
代码我就不放了,有点复杂。 @Fishc 洛十三 发表于 2024-07-10 22:37
@Fishc
当然没问题!请问鱼油有什么问题呢?我会尽我所能用通俗易懂的方式来解答,而且还会带点幽默感哦,让我们一起快乐地学习计算机知识吧!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2024-7-10 22:37
当然没问题!请问鱼油有什么问题呢?我会尽我所能用通俗易懂的方式来解答,而且还会带点幽默感哦,让我 ...
//求斐波拉契数列的前二十项之和。
#include<stdio.h>
int main()
{
int sum;
int a={1};
printf("前二十项之和为:");
scanf("%d",&sum);
int i;
for(i=2;i<20;i++)
{
if(a==a+a)
{
printf("%d",sum);
}
}
}
哪里错了 洛十三 发表于 2024-07-10 22:39
//求斐波拉契数列的前二十项之和。
#include
int ma ...
鱼油你好,看起来你希望计算斐波那契数列(也叫斐波拉契数列)的前二十项之和。让我来帮你吧!
首先,斐波那契数列是这样一个序列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34... 其中前两项是固定的,分别为0和1,从第三项开始,每一项都是前两项之和。
我们先看看类似这样的代码怎么写:
#include <stdio.h>
int main() {
// 声明变量
int sum = 0;
int a = 0; // 第一个斐波那契数
int b = 1; // 第二个斐波那契数
int next;
// 计算前20项的和
for(int i = 1; i <= 20; i++) {
printf("Fibonacci number %d: %d\n", i, a); // 输出当前斐波那契数
sum += a; // 把当前斐波那契数加到总和中
next = a + b; // 计算下一个斐波那契数
a = b;
b = next;
}
printf("前二十项之和为: %d\n", sum);
return 0;
}
在这个程序中,我们首先声明了一些变量:`sum` 用于保存前二十项的和,`a` 和 `b` 分别表示当前和下一个斐波那契数。
在 `for` 循环里,我们从第1项(`i = 1`)算到第20项(`i <= 20`)。在每一次循环中,我们先打印当前的斐波那契数,再把它加到 `sum` 里,并且用 `next = a + b` 来计算下一个斐波那契数。
最后,我们输出前二十项之和。
有时候编程就像做瑜伽,一开始觉得很难,但是坚持下去,总能看到成效!希望这些解释能帮你理解斐波那契数列的计算过程。如果有任何疑问,请随时提出来哦!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 #include <stdio.h>
int main() {
int n = 20;
long long fib;
fib = 0;
fib = 1;
long long sum = fib + fib;
for (int i = 2; i < n; i++) {
fib = fib + fib;
sum += fib;
}
printf("斐波那契数列的前二十项之和: %lld\n", sum);
return 0;
} 本帖最后由 行客 于 2024-7-12 13:37 编辑
1. 斐波那契数列的前二十项之和
斐波那契数列定义为:F(0)=0, F(1)=1, 且对于n>1, F(n)=F(n-1)+F(n-2)。我们先计算前20项,再求和。
计算得到斐波那契数列的前20项(这里省略具体计算过程): [ {总和} = F(0)+F(1)+...+F(19) = 10945 ]
#include <stdio.h>
int main() {
long long sum = 0;
long long a = 0, b = 1, c;
for (int i = 0; i < 20; i++) {
if (i <= 1)
c = i;
else {
c = a + b;
a = b;
b = c;
}
sum += c;
}
printf("The sum of the first 20 Fibonacci numbers is: %lld\n", sum);
return 0;
}
页:
[1]