C 斐波那契级数和
我有以下代码:C 斐波那契级数和,c,C,我有以下代码: #include<stdio.h> void main() { int a = -1, b = 1, c = 0, i, n, sum = 0 ; printf("Enter the limit : ") ; scanf("%d", &n) ; printf("\nThe fibonacci series is :") ; for(i = 1 ; i <= n ; i++) { c = a + b ; printf("
#include<stdio.h>
void main()
{
int a = -1, b = 1, c = 0, i, n, sum = 0 ;
printf("Enter the limit : ") ;
scanf("%d", &n) ;
printf("\nThe fibonacci series is :") ;
for(i = 1 ; i <= n ; i++)
{
c = a + b ;
printf("%d-", c) ;
sum = sum + c ;
a = b ;
b = c ;
}
printf("\nThe sum of the fibonacci series is : %d", sum) ;
printf("\n");
}
#包括
void main()
{
int a=-1,b=1,c=0,i,n,和=0;
printf(“输入限制:”);
scanf(“%d”和“&n”);
printf(“\n斐波那契级数为:”);
对于(i=1;i您可以这样做(您必须在顶部(第4行)声明number
和found=0)):
因此,它会检查求和是否大于7位数字!如果是,则最后一个斐波那契数字就是您搜索的数字,即使求和大于7位数字的数字!发现只有第一个数字被分配给specialNumber
所以你的程序应该是这样的:
#include <stdio.h>
int main() {
int count, sum, specialNumber, fibonacci, numberOne, numberTow, found;
sum = 0, fibonacci = 0, numberOne = -1, numberTow = 1, found = 0;
int n;
printf("Enter the limit :\n>") ;
scanf("%d", &n) ;
printf("\nThe fibonacci series is :") ;
for(count = 1 ; count <= n ; count++) {
fibonacci = numberOne + numberTow;
printf("\n%d", fibonacci);
sum += fibonacci;
if(sum >= 1000000 && !found) {
specialNumber = fibonacci;
found = 1;
}
numberOne = numberTow;
numberTow = fibonacci;
}
printf("\nThe sum of the fibonacci series is : %d\n", sum);
printf("%d makes the sum bigger than 7 digits", specialNumber);
return 0;
}
#包括
int main(){
整数计数,和,特殊数,斐波那契,numberOne,numberTow,已找到;
sum=0,fibonacci=0,numberOne=-1,numberTow=1,found=0;
int n;
printf(“输入限制:\n>”;
scanf(“%d”和“&n”);
printf(“\n斐波那契级数为:”);
对于(计数=1;计数=1000000&&!已找到){
特殊数字=斐波那契;
发现=1;
}
numberOne=numberTow;
numberTow=斐波那契;
}
printf(“\n斐波那契级数的和为:%d\n”,和);
printf(“%d使总和大于7位”,特殊数字);
返回0;
}
如果要获得七位数字的第一个和,请将阈值设置为一百万,也称为1e6=10**6=1000000
。请注意1000000
中有七位数字
如果希望总和超过七位数,请将阈值设置为1000万。该数字有八位数
下面的代码将实现这一技巧。请注意,我们使用的不是for
循环,而是while
循环,它在总和小于阈值时不断迭代
# include <stdio.h>
int main() {
int previous, current = 0, next = 1,
sum = current, threshold;
printf("Enter the threshold: ") ;
scanf("%d", &threshold) ;
printf("Fibonacci series: %d", current) ;
while (sum < threshold) {
previous = current;
current = next;
next = previous + current;
printf(" + %d", current) ;
sum += current;
}
printf(" = %d\n", sum);
return 0;
}
#包括
int main(){
int PREVICE,current=0,next=1,
总和=电流,阈值;
printf(“输入阈值:”);
扫描频率(“%d”和阈值);
printf(“斐波那契级数:%d”,当前);
while(总和<阈值){
先前=当前;
当前=下一个;
下一个=上一个+当前;
printf(“+%d”,当前);
总和+=电流;
}
printf(“=%d\n”,总和);
返回0;
}
#包括
void main()
{
int a=-1,b=1,c=0,i,n,term1,term2;
长和=0;
printf(“输入限制:”);
scanf(“%d”和“&n”);
printf(“\n斐波那契级数为:”);
对于(i=1;i=1000000){
term1=a;
term2=b;
打破
}
a=b;
b=c;
}
printf(“\n斐波那契级数的和为:%ld”,和);
printf(“\n术语为%d和%d”,术语1,术语2);
printf(“\n”);
}
当这个程序找到使总和超过7位的正确项时,它就会中断循环。
希望我能理解你的意思。尽可能少地更改代码:
# include <stdio.h>
int main(int argc, char ** argv)
{
int a = -1, b = 1, c = 0, i = 1, n = 0, sum = 0 ;
printf("\nThe fibonacci series is :") ;
while (sum <= 10000000)
{
c = a + b ;
printf("%d-", c) ;
sum = sum + c ;
a = b ;
b = c ;
n = i;
i++;
}
printf("\nThe sum of the fibonacci series is : %d", sum) ;
printf("\nThe term is %d the value is %d", n , c);
printf("\n");
return 0;
}
#包括
int main(int argc,字符**argv)
{
int a=-1,b=1,c=0,i=1,n=0,和=0;
printf(“\n斐波那契级数为:”);
虽然(sum如果
循环,它不是一个循环,它是一个循环!所以treshold是错误的,例如,我输入了一个20的treshold,我得到了一个20的和,treshold不是应该大于和吗?感谢上面的代码,fibonacci序列会继续,直到和至少等于阈值。如果你想要和要超过阈值,只需将while
条件从(sum
更改为(sum)(如果这是一个实际问题,请使用数学而不是for循环。是8位,大于7位。
#include<stdio.h>
void main()
{
int a = -1, b = 1, c = 0, i, n, term1, term2;
long sum = 0;
printf("Enter the limit : ");
scanf("%d", &n);
printf("\nThe fibonacci series is :");
for(i = 1 ; i <= n ; i++)
{
c = a + b ;
printf("%d \n", c) ;
sum = sum + c ;
if(sum >= 1000000){
term1 = a;
term2 = b;
break;
}
a = b ;
b = c ;
}
printf("\nThe sum of the fibonacci series is : %ld", sum);
printf("\n terms are %d and %d", term1, term2);
printf("\n");
}
# include <stdio.h>
int main(int argc, char ** argv)
{
int a = -1, b = 1, c = 0, i = 1, n = 0, sum = 0 ;
printf("\nThe fibonacci series is :") ;
while (sum <= 10000000)
{
c = a + b ;
printf("%d-", c) ;
sum = sum + c ;
a = b ;
b = c ;
n = i;
i++;
}
printf("\nThe sum of the fibonacci series is : %d", sum) ;
printf("\nThe term is %d the value is %d", n , c);
printf("\n");
return 0;
}