שאלה בפסקל על שימוש במספרים גדולים - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

שאלה בפסקל על שימוש במספרים גדולים


ISmile4U

Recommended Posts

???איך את התוכנית הזאת אני מעביר לשימוש במשתנים מסוג LongInteger ואיך אני פותר את הבעיות במספרים הגדולים?

program find;

{$N+}

uses wincrt;

var

d,m,n:double;

begin

n:=1;

while(n<=maxlongint)do

begin

d:=((n*(n+1))/2);

m:=sqrt(d);

if round(m)=m then

writeln(n:2:0,' ',m:2:0);

n:=n+1;

end;

end.

1 1

6 8

35 49

204 288

1189 1681

6930 9800

40391 57121

====המספרים הגדולים איליהם אני לא מצליח להגיע===

7997214 11309768

46611179 65918161

271669860 384199200

1583407981 2239277041

9228778026 13051463048

53789260175 76069501249

??? ??? ??? ??? ??? ???

קישור לתוכן
שתף באתרים אחרים

השאלה שלך הועברה לתראד חדש

להבא עדיף שתפתח שאלות בתראד חדש משלך ולא תשאל אותם בתראדים של אנשים אחאים

בכל מקרה אם אתה רוצה לעבוד עם int/longint אתה צריך לעשות את השנינוי הבא

if m*m=d then

במקןם

if round(m)=m then

מכייון שאתה עובד עם מספרים שלמים השורש גם יהיה מספר שלם, ככה שבשביל לבדוק אם באמת היה לך מספר ריבועי אתה בודק אם

sqrt(d)^2 = d

קישור לתוכן
שתף באתרים אחרים

טוב אחר מאמצים רבים הצלחתי לפתור את הבעיה ו Holy תודה על ניסיונך לעזור.

{

Triangular Square Numbers

===========================

D(m)=(m*(m+1))/2

D(m)=n*n

n,m,D(m) are part of the natural numbers;

Recursion relation

------------------

Let us write this relation in terms of n and m where

n^2=m(m+1)/2.

That is, replace x_j by 2*m_j + 1 and y_j by 2*n_j to get:

Initial values (x=3, y=2): m_1=1, n_1=1

Recursion: m_(j+1) = 3*m_j + 4*n_j + 1

n_(j+1) = 3*n_j + 2*m_j + 1

}

program findmn;

uses crt;

var

counter,m,n,a,b,u,v:longint;

begin

clrscr;

m:=1;

n:=1;

u:=1;

counter:=1;

writeln(counter,') ',n,' ',m);

while(u<=maxlongint)and(counter<=11)do

begin

v:=m*n;

u:=((m*(m+1)) div 2);

if (u <> v) then

begin

inc(counter);

writeln(counter,') ',n,' ',m);

end;

a:=(3*m)+(4*n)+1;

b:=(3*n)+(2*m)+1;

m:=a;

n:=b;

end;

readln;

end.

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...