English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
مجموعة شاملة من أمثلة البرمجة في C
في هذا المثال، ستتعلم كيفية التحقق من عدد كامل هو عدد أولي أم هو عدد أرستيد من خلال إنشاء دالتين منفصلتينأرستيدرقم)، أو كلاهما.
لفهم هذا المثال، يجب أن تكون على علم بما يليبرمجة Cالموضوع:
في هذا البرنامج، يتم إنشاء دالتين مخصصة للمستخدم checkPrimeNumber() و checkArmstrongNumber().
إذا كان الرقم الذي أدخلته المستخدم هو عدد أولي، فإن دالة checkPrimeNumber() تعود 1. وبالمثل، إذا كان الرقم الذي أدخلته المستخدم هو عدد أرستيد، فإن دالة checkArmstrongNumber() تعود 1 أيضًا.
زيارة هذه الصفحات لمعرفة ما إذا كان هناك عدد
#include <math.h> #include <stdio.h> int checkPrimeNumber(int n); int checkArmstrongNumber(int n); int main() { int n, flag; printf("أدخل عدد صحيح: "); scanf("%d", &n); // التحقق من عدد أولي flag = checkPrimeNumber(n); if (flag == 1) printf("%d هو عدد أولي.\n", n); else printf("%d ليس عدد أولي.\n", n); // التحقق من عدد Armstrong flag = checkArmstrongNumber(n); if (flag == 1) printf("%d هو عدد Armstrong.", n); else printf("%d ليس عدد Armstrong.", n); return 0; } // وظيفة التحقق من عدد أولي int checkPrimeNumber(int n) { int i, flag = 1, squareRoot; // حساب الجذر التربيعي squareRoot = sqrt(n); for (i = 2; i <= squareRoot; ++i) { // شرط غير عدد أولي if (n % i == 0) { flag = 0; break; } } return flag; } // للتحقق من وظيفة عدد Armstrong int checkArmstrongNumber(int num) { int originalNum, remainder, n = 0, flag; double result = 0.0; // حفظ عدد الأرقام في num في n for (originalNum = num; originalNum != 0; ++n) { originalNum /= 10; } for (originalNum = num; originalNum != 0; originalNum /= 10) { remainder = originalNum % 10; // حفظ مجموع قيم الأصمات من الناتج result += pow(remainder, n); } // شرط عدد أرستيد if (round(result) == num) flag = 1; else flag = 0; return flag; }
نتيجة الخروج
أدخل عدد صحيح إيجابي: 407 407 ليس عدد أولي. 407 هو عدد أرستيد.