[Archives] Mathématiques pures, physique, chimie, etc. : problèmes d'entraînement cérébral sans rapport avec le commerce. - page 235

 

Ne confondez pas opérande et opération ! Dans notre cas.

d+=f[b]*a,f[b]=d%--g,d/=g--,--b

Les quatre sont des opérations, pas des opérandes !

MetaDriver, je ne crois pas que toutes les conditions sauf une doivent être écartées. Ce n'est pas si simple, c'est Pi. Et de toute façon, vous m'ennuyez avec votre récurrence...

À propos, voici la toute première boucle qui peut être vérifiée par le compilateur électronique et qui fournit toutes les informations de débogage nécessaires. C-4 dit que la boucle ne sera exécutée qu'une seule fois (pourquoi une seule fois ?), alors qu'il me semble qu'elle sera exécutée plusieurs fois.

 
Mathemat >>:

Дык операнд, а не операция!

de Strausrup ("The C++ Programming Language", chapitre "Reference Manual", section 14 (Summary of Syntax)) :

| выражение:

| терм

| выражение бинарная_операция выражение

| выражение ? выражение : выражение

| список выражений

| список выражений:

| выражение:

| список_выражений, выражение


En bleu, j'ai souligné ce qu'il faut regarder.

 
Mathemat >>:

Дык не путай операнд и операцию! В нашем случае

все четыре - операции, а не операнды!

1) MetaDriver, не верю, что все условия окромя одного придецца отбросить. Не такое оно простое, это Pi. И вообще, запылил мне мозги своей рекурсией...

Кстати, вот самый первый цикл можно и проверить, у кого компилятор е, вместе с выводом нужной отладочной инфы. С-4 говорит, что цикл выполнится только 1 раз (а почему даже 1 раз-то выполнится?), а мне кажется, что много раз.

Vous devez le faire !

Cherchez d'autres descriptions de l'opérateur virgule sur le web. Pour votre entière satisfaction (:flèche flottante :).

 
Mathemat >>:

1) Кстати, вот самый первый цикл можно и проверить, у кого компилятор е, вместе с выводом нужной отладочной инфы.

2) С-4 говорит, что цикл выполнится только 1 раз (а почему даже 1 раз-то выполнится?), а мне кажется, что много раз.

Ce serait bien. J'en ai, mais je ne veux pas décharger la mémoire pour VS.

(J'ai beaucoup de programmes en cours, toute la mémoire est pleine. Je travaille toujours sur le site web des étirements et des plafonds :)

 

OK, nous attendrons jusqu'à demain. Je vais regarder l'opérateur virgule. Le critère sera toujours la pratique - jusqu'à l'aiguille flottante.

 
Mathemat >>:

Ладно, погодим до завтра. Я посмотрю оператор запятой. Критерием все равно будет практика.

OK, faisons-le demain. :)

 
 

Je n'ai pas pu résister à l'envie de réaliser un projet dans le studio. Après la réforme suivante (voir ci-dessous), le code fonctionne :
int a=10000, b, c=2800, d, e, f[2801], g;

int _tmain(int argc, _TCHAR* argv[]) // Вполне заменяет классический main()
{
   while(( b- c)!=0)  
   {
     f[ b++]= a/5;
   }
   while( g= c*2)
   {
      for( b= c; d+= f[ b]* a, f[ b]= d%-- g, d/= g--,-- b; d*= b);
      
      c-=14;
      printf("%.4d", e+ d/ a);
      e= d% a;
  
      d=0;
  }
   getch(); // Добавил, чтоб тормозить окно от преждевременного захлопывания.
return 0;
}
Ensuite, je vais me débarrasser du dernier for'a, en le remplaçant également par while.  
Nous pourrons alors traiter l'algorithme petit à petit, en remplaçant les identifiants par d'autres plus significatifs au fur et à mesure.

 
C-4 >>:

int a=10000,b,c=2800,d,e,f[2801],g;
int main(void){
for(;b-c;)f[b++]=a/5;
for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);
}

int a=10000, c=2800, b, d, e, g;
int f[2801];

int main(int argc, char* argv[])
{

pour (;(b-c)!=0;b++)
{
f[b]=a/5;
}


for(d=0;c>0;)
{
g=c*2-1;
e=d%a;
for(b=c; b>0;)
{
d=d*b;
d=d+f[b]*a;
f[b]=d%g;
d=d/g;
g=g-2;
b--;
}

printf("%.4d",e+d/a);
c=c-14;
}
retourner 0;
}

Cela a marché ! !!
 

Et quoi, Pi sort, n'est-ce pas ?