اعداد كامل

sozan2009

New Member
سلام خسته نباشيد يه زحمتي براتون داشتم من دانشجوي رياضي هستم وبا برنامه نويسي به كل مشكل دارم ميخواسم ازتون خواهش كنم اين برنامه ها را برام بنويسيد با كمال تشكر
برنامه اي بنويسيد كه كليه اعداد كامل در محدوده يك تا مقدار متغير از جنس intرابيابد ودر پايان دوعددكامل متوالي كه داراي بيشترين فاصله باشند را چاپ نمايد ودر برنامه اي ديگر اين كار را با احضار تابع فرعي درابتداي برنامه انجام دهيد:rose:


ميشه ازتون خواهش كنم سريع تر پاسخ بدهيد
 

the_king

مدیرکل انجمن
برنامه اي بنويسيد كه با احضار تابع فرعي در ابتداي برنامه كليه اعداد كامل در محدوده يك تا مقدار متغير از جنس int را بيابد و
در پايان دو عدد كامل متوالي كه داراي بيشترين فاصله باشند را چاپ نمايد.

کد:
#include <stdio.h>
#include <conio.h>

int IsCompleted(int n)
{
	int i,sum=0;
	for (i=1;n>i;i++)
		if (n%i==0)
			sum+=i;
	return (sum==n);
}

void main()
{
	int i,n,prev=0,n1=0,n2=0;
	clrscr();
	printf ("Please enter n : ");
	scanf("%d", &n);
	for (i=1;i<=n;i++)
		if (IsCompleted(i))
		{
			if (i-prev > n2-n1)
			{
				n1=prev;
				n2=i;
			}
			prev=i;
		}
	if (n1)
		printf ("%d and %d",n1,n2);
	getch();
}


برنامه اي بنويسيد كه در همان بدنه تابع ()main كليه اعداد كامل در محدوده يك تا مقدار متغير از جنس int را بيابد و
در پايان دو عدد كامل متوالي كه داراي بيشترين فاصله باشند را چاپ نمايد.

کد:
#include <stdio.h>
#include <conio.h>

void main()
{
	int i,j,sum,n,prev=0,n1=0,n2=0;
	clrscr();
	printf ("Please enter n : ");
	scanf("%d", &n);
	for (i=1;i<=n;i++)
	{
		sum=0;
		for (j=1;j<i;j++)
			if (i%j==0)
				sum+=j;
		if (sum==i)
		{
			if (i-prev > n2-n1)
			{
				n1=prev;
				n2=i;
			}
			prev=i;
		}
	}
	if (n1)
		printf ("%d and %d",n1,n2);
	getch();
}
 

جدیدترین ارسال ها

بالا