โจทย์
เขียนโปรแกรมหาผลรวมสมาชิกที่เป็นกำลังสองสมบูรณ์ในอาร์เรย์
Input: จำนวนสมาชิก และค่าสมาชิก Output: ผลรวมกำลังสองสมบูรณ์
วิธีแก้
เช่น Input = 1, 2, 3, 4, 5, 9, 10, 11, 16
กำลังสองสมบูรณ์คือ 1, 4, 9, 16 → Sum = 30
อัลกอริทึม
ขั้นตอน 1 - อ่านจำนวนสมาชิกอาร์เรย์
ขั้นตอน 2 - ป้อนค่าสมาชิก
ขั้นตอน 3 - กำหนด sum = 0
ขั้นตอน 4 - ตรวจสอบสมาชิกเป็นกำลังสองสมบูรณ์
ขั้นตอน 5 - ถ้าใช่ sum = sum + ค่านั้น
ขั้นตอน 6 - คืนค่า sum
ตัวอย่าง
โปรแกรม C หาผลรวมกำลังสองสมบูรณ์ในอาร์เรย์:
#include<stdio.h> #include<math.h> int isPerfectSquare(int number){ int iVar; float fVar; fVar=sqrt((double)number); iVar=fVar; if(iVar==fVar) return number; else return 0; } int main(){ int n; printf("enter no: of elements:"); scanf("%d",&n); int arr[n]; int i; printf("enter the elements in an array:\n"); for(i = 0; i < n; i++){ scanf("%d",&arr[i]); } int sum = 0; for(i = 0; i < n; i++){ sum = sum + isPerfectSquare(arr[i]); } printf("sum=%d",sum); return 0; }
ผลลัพธ์
Run 1: enter no: of elements:5 enter the elements in an array: 1 3 5 9 10 sum=10 Run 2: enter no: of elements:5 enter the elements in an array: 1 4 9 16 25 sum=55