C 언어 규칙 순환 누적 구 와 사례

긴 말 안 할 게 요.그냥 코드 보 세 요~

#include <stdio.h> 
void main(){
 
	int i;
	float a,b,c,d,t;
	a = 1.0; b = 2.0; i = 1; t = 0;
	for (i = 1; i <= 20; i++) {
		if (i < 2){
			c = b / a;
			t = c+t;
			a = a + 1; b = b + 1; //        
			}
		else
		{
			c = b / a;
			t = t + c;
			d = a; a = b; b = d + b;//        
		}	
	}
	printf("2/1+3/2+5/3+8/5.....      %f
",t); getchar(); getchar(); }
2/1,3/2,5/3,8/5,13/8,21/13.。。。。。
주로 규칙 과 할당 을 혼동 하지 마 세 요.
d = a; a = b; b = d + b
d.먼저 a 의 값 을 저장 합 니 다.

#include <stdio.h> 
void main(){ 
 
 int i; 
 float a,b,c,d,t; 
 a = 1; b = 2; i = 1; t = 0; 
 for (i = 1; i <= 20; i++) { 
  c = b / a; 
   t = c+t; 
 d = a; a = b; b = d + b; 
} 
printf("2/1+3/2+5/3+8/5.....      %.2f
",t); }
둘 다 똑 같 아 요.

보충 지식:C 언어 경전 예-계승 누적 구 화
1 문제
제발 1!+2!+3!+…+20!의 합.
2 분석
본 문제 의 본질은 바로 계승 을 구 하 는 것 이다.규칙 을 관찰 하면 발견 할 수 있다.1!1!1! 와 2!2!2! 2,2 만 곱 하기!2!2! 그리고 3!3!3! 3 만 곱 하기 때문에 모든 추가 항목 은 앞의 규칙 적 인 배수 관계 가 있 기 때문에 순환 문 구 를 이용 하여 완성 할 수 있 습 니 다.예 를 들 어 첫 번 째 순환 할 때 1 즉 1 을 추가 하면 됩 니 다!1!1!,두 번 째 순환 은 2 즉 2!2!2!,1 에서 20 으로 순환 하면 된다.
물론 계승 을 구 하 는 방법 도 있 지만 본 문제 에 사용 하 는 효율 이 매우 낮 고 계승 을 구 하 는 방법 은 다음 과 같다.

int factorial(int n)
{ 
 if(n == 0 || n == 1) return 1; // 0 1     1
 return n*(factorial(n-1)); 
}
3 실현

#include <stdio.h>
int main() {
 double sum = 0;
 double x = 1;
 for(int i = 1; i <= 20; i++) {
  x = x * i;
  sum = sum + x;
 } 
 printf("%f
", sum); }
4 실행 결과
2561327494111820300.000000
이상 의 C 언어 규칙 순환 누적 구 와 사례 는 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 저희 도 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기