ตัวอย่างการใช้สิทธิ 21 C
ชื่อเรื่อง: การรับประทานอาหารลิงปัญหาพีช: ลิงปิดวันแรกของเขาในจำนวนของลูกพีชครึ่งรับประทานได้ทันทีไม่ติดยาเสพติด แต่ยังกินตอนเช้าในทางกลับกันกินโดยพีชครึ่งที่เหลือกินกินแล้ว . หลังจากตอนเช้ากินวันก่อนส่วนที่เหลือของครึ่งศูนย์ที่ วันที่ 10 ในตอนเช้าเมื่อคุณต้องการที่จะกินให้ดูเพียงหนึ่งลูกพีช ที่กำลังมองหาวันแรกของจำนวนหยิบ
การวิเคราะห์โครงการ: ใช้วิธีการคิดย้อนกลับสรุปจากข้างหน้า
1) ให้ X1 คือจำนวนของลูกพีชวันก่อนหน้านี้ลูกพีชจำนวน x 2 วันถัดไปชุดที่แล้ว:
X2 = X1 / 2-1 X1 = (x2 + 1) * 2
X3 = X2 / 2-1, X2 = (X3 + 1) * 2
โดย: x = ก่อน (หลัง x +1) * 2
2) ตั้งแต่วันที่ 10 ถึงวันที่ 1 โดยการเปรียบเทียบมันเป็นกระบวนการที่เป็นวงกลม
รหัสที่มา:
// Created by www.w3big.com on 15/11/9. // Copyright © 2015年 本教程. All rights reserved. // #include <stdio.h> #include <stdlib.h> int main(){ int day, x1 = 0, x2; day=9; x2=1; while(day>0) { x1=(x2+1)*2; // 第一天的桃子数是第2天桃子数加1后的2倍 x2=x1; day--; } printf("总数为 %d\n",x1); return 0; }
เอาท์พุทตัวอย่างข้างต้นคือ
总数为 1534