คุณจะได้รับจำนวนวัน และภารกิจคือการแปลงจำนวนวันที่กำหนดเป็นปี สัปดาห์และวัน
ให้เราสมมติจำนวนวันในหนึ่งปี =365
จำนวนปี =(จำนวนวัน) / 365
คำอธิบาย-:จำนวนปีจะเป็นผลหารที่ได้จากการหารจำนวนวันที่กำหนดด้วย 365
จำนวนสัปดาห์ =(จำนวนวัน % 365) / 7
คำอธิบาย-:จำนวนสัปดาห์จะได้รับจากการรวบรวมส่วนที่เหลือจากการหารจำนวนวันด้วย 365 และหารผลลัพธ์เพิ่มเติมด้วยจำนวนวันในหนึ่งสัปดาห์ซึ่งก็คือ 7
จำนวนวัน =(จำนวนวัน % 365) % 7
คำอธิบาย-:จำนวนวันจะได้รับจากการรวบรวมส่วนที่เหลือจากการหารจำนวนวันด้วย 365 และรับส่วนที่เหลือโดยการหารเศษที่เหลือด้วยจำนวนวันในหนึ่งสัปดาห์ซึ่งก็คือ 7
ตัวอย่าง
Input-:days = 209 Output-: years = 0 weeks = 29 days = 6 Input-: days = 1000 Output-: years = 2 weeks = 38 days = 4
อัลกอริทึม
Start Step 1-> declare macro for number of days as const int n=7 Step 2-> Declare function to convert number of days in terms of Years, Weeks and Days void find(int total_days) declare variables as int year, weeks, days Set year = total_days / 365 Set weeks = (total_days % 365) / n Set days = (total_days % 365) % n Print year, weeks and days Step 3-> in main() Declare int Total_days = 209 Call find(Total_days) Stop
ตัวอย่าง
#include <stdio.h> const int n=7 ; //find year, week, days void find(int total_days) { int year, weeks, days; // assuming its not a leap year year = total_days / 365; weeks = (total_days % 365) / n; days = (total_days % 365) % n; printf("years = %d",year); printf("\nweeks = %d", weeks); printf("\ndays = %d ",days); } int main() { int Total_days = 209; find(Total_days); return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น จะเกิดผลลัพธ์ดังต่อไปนี้
years = 0 weeks = 29 days = 6