Thema: Mathe: Das 3n+1 / 5n+1 Problem
Einzelnen Beitrag anzeigen
  #19  
Alt 02.08.2023, 20:17
Gilgamesch Gilgamesch ist offline
Super System III
 
Registriert seit: 01.08.2023
Ort: Mindelheim
Land:
Beiträge: 14
Abgegebene Danke: 11
Erhielt 21 Danke für 10 Beiträge
Aktivitäten Langlebigkeit
0/20 2/20
Heute Beiträge
0/3 sssssss14
AW: Das 3n+1 / 5n+1 Problem

Stimmt, bei den Programmiersprachen gibt es ganz unterschiedliche Präferenzen.
Der komplette C Code, erzeugt denselben Output, mal etwas schwerer lesbarer

#include"stdio.h"
#include"stdint.h"
#define z c++;if(n>b)b=n;while((n%2)==0){n/=2;c++;}
uint64_t u=18446744073709551615/3-1,v=18446744073709551615/5-1,b;int r;int s(uint64_t n){int c=0;r=1;b=0;
for(;; ){if(n>u)return-1;n=3*n+1;z if(n<8)return c;if(n>v)return-1; n=5*n+1;z r++;if(n<8)return c;if(c>1000000)return-2;}}
int main(){for(uint64_t n=5;n<373;n++){int c=s(n);if(c==-1)printf("%4I64u Overflow\n",n);
if(c==-2)printf("%4I64u Infinite Loop\n",n);if(c>=0)printf("%4I64u %4d %5d %16I64u\n",n,r,c,b);}}
Mit Zitat antworten