[Arquivo!] Pura matemática, física, química, etc.: problemas de treinamento do cérebro não relacionados ao comércio de qualquer forma - página 235

 

Não confunda operando com operando! Em nosso caso.

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

Todos os quatro são operações, não operandos!

MetaDriver, não acredito que todas as condições, exceto uma, devam ser descartadas. Não é tão simples assim, é Pi. E de qualquer forma, você está me aborrecendo com a sua recorrência...

A propósito, aqui está o primeiro loop que pode ser verificado com o e-compiler junto com a saída de todas as informações necessárias para a depuração. O C-4 diz que o loop será executado apenas uma vez (por que mesmo uma vez?), enquanto que me parece que será executado muitas vezes.

 
Mathemat >>:

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

de Strausrup ("A linguagem de programação C++", capítulo "Manual de Referência", seção 14 (Resumo da sintaxe)):

| выражение:

| терм

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

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

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

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

| выражение:

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


Em azul, destaquei o que olhar.

 
Mathemat >>:

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

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

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

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

Você terá que fazer isso!

Procure mais descrições do operador por vírgula na web. Para sua completa satisfação (:seta flutuante:).

 
Mathemat >>:

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

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

Isso seria bom. Eu tenho algumas, mas não quero descarregar a memória para a VS.

(Eu tenho muitos programas em execução, toda a memória está cheia. Ainda estou trabalhando no site de alongamento e teto:)

 

OK, vamos esperar até amanhã. Vou ver o operador por vírgula. O critério ainda será a prática - até a agulha flutuante.

 
Mathemat >>:

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

OK, vamos fazer isso amanhã. :)

 
Aqui está um link por enquanto: Operador por vírgula em condição de loop
 

Eu não pude resistir a fazer um projeto no estúdio. Após a próxima reforma (ver abaixo), o código funciona:
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;
}
A seguir, vou me livrar do último for'a, substituindo-o também por while.  
Então, podemos lidar lentamente com o algoritmo, substituindo os identificadores por outros mais significativos ao longo do caminho.

 
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[])
{

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


para(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;
}
retornar 0;
}

Funcionou!!!
 

E o que, Pi sai, sai?

Razão: