Vinnaren i pepparkakshustävlingen!
2017-05-22, 21:25
  #1
Medlem
Hej!

I ett smått kritiskt läge i slutet av studieperioden behöver jag i ett CAD-arbete hitta ett test som avgör vilket av följande talföljder ett udda tal tillhör.
  • 1+4n ; n=0,1,2,3,4... (Alltså 1-5-9-13...)
  • 3+4n ; n=0,1,2,3,4... (Alltså 3-7-11-15...)

Alltså, ett givet udda tal ska matchas med en av talföljderna. T.ex. tal 11 skall logiskt testas mot de två talföljderna och returnera den undre talföljden (3+4n). Kommer inte fram till något själv just nu, tycker ni om tankenötter kanske ni kan ta er an detta problem?

För den nyfikna ska detta implementeras i VB-kod för styrning av parametrar vid CAD'ande av en brokonstruktion.
Citera
2017-05-22, 21:35
  #2
Medlem
inneskos avatar
Citat:
Ursprungligen postat av smartskaft2
Hej!

I ett smått kritiskt läge i slutet av studieperioden behöver jag i ett CAD-arbete hitta ett test som avgör vilket av följande talföljder ett udda tal tillhör.
  • 1+4n ; n=0,1,2,3,4... (Alltså 1-5-9-13...)
  • 3+4n ; n=0,1,2,3,4... (Alltså 3-7-11-15...)

Alltså, ett givet udda tal ska matchas med en av talföljderna. T.ex. tal 11 skall logiskt testas mot de två talföljderna och returnera den undre talföljden (3+4n). Kommer inte fram till något själv just nu, tycker ni om tankenötter kanske ni kan ta er an detta problem?

För den nyfikna ska detta implementeras i VB-kod för styrning av parametrar vid CAD'ande av en brokonstruktion.

Om m är talet som ska testas så blir det väl något liknande detta
Kod:
If m Mod 4 = 1 Then
    tillhör 1 + 4n
ElseIf m Mod 4 = 3 Then
    tillhör 3 + 4n
Else
    m är inte udda
End If
Citera
2017-05-22, 21:36
  #3
Medlem
BNCs avatar
Ska det implementeras i ett program, så är väl modulo 4 det enklaste.

I C kunde det se ut som:

Kod:
if( (tal % 4) == 1) 
   return "1 + 4n";
if( (tal % 4) == 3)
   return "3 + 4n";

return "inget av dem";
Citera
2017-05-22, 21:42
  #4
Medlem
Jag har hört talas om Mod-operatorn, men aldrig arbetat med den. Tack för hjälpen!

Jag slutar aldrig förvånas över hur mycket hjälpsamt folk som hänger på Flashback.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback