|
You last visited: Today at 08:49
Advertisement
Modulo Schleife oder so
Discussion on Modulo Schleife oder so within the C/C++ forum part of the Coders Den category.
01/22/2013, 21:48
|
#1
|
elite*gold: 0
Join Date: Sep 2010
Posts: 1,242
Received Thanks: 707
|
Modulo Schleife oder so
N'Abönd,
ich würde gerne einen Programm schreiben was sagen soll ob x eine Primzahl ist oder nicht.
Dafür wollte ich fragen da ich erst neu angefangen habe mit c++ zu arbeiten welchen Befehl ich am besten nehmen soll. Ich will das der Nutzer eine Zahl eingibt und das Programm x%2 x%3 x%4 teilt und wenn der Rest 0 ist -> keine Primzahl halt mit If x=0 goto blubb und else x ist eine Primzahl. Weis vllt jemand wie ich das am besten machen kann mit "do" vlt?
|
|
|
01/22/2013, 22:08
|
#2
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Goto ist böse.
Code:
bool is_prime(int num)
{
if(num == 2 || num == 3)
return true;
else
return ( num % 2 != 0 && num % 3 != 0 );
}
//irgendwo
if(is_prime(x))
std::cout << x << " ist eine Primzahl!" << std::endl;
else
std::cout << x << " ist keine Primzahl!" << std::endl;
Was möchtest du mit do (do-while Schleife?)? Soll das Ganze in einer Schleife alle Zahlen von x - y durchgehen und prüfen, ob sie Primzahlen sind? Um eine einzelne Zahl zu prüfen, brauchst du keine Schleife.
edit:
Übrigens ist eine Division durch 2, 3 und 4 kein vielsagender Test für Primzahlen.
|
|
|
01/22/2013, 22:10
|
#3
|
elite*gold: 0
Join Date: Sep 2010
Posts: 1,242
Received Thanks: 707
|
Hättest du Skype dann könnte ich es dir vielleicht besser erklären kannst mich dannach auch wieder löschen ;>.
So ein Problem hätte ich da noch :< Die Zahl 2 ist eine Primzahl, aber wenn ich diese eingebe sagt er mir es sei keine, da ich glaube ich y den Wert 2 zugeordnet habe. Weiß vlt. jemand wie ich das beheben kann. Nicht wundern das ist eine Commando Anwendung oder so xD.
Quote:
#include <iostream>
using namespace std;
int main()
{
int x,y;
Anfang:
cout << "\n\nBitte geben Sie eine Zahl zwischen 2-100 ein : " ;
cin >> x;
y=2;
do
{
if (x==1) cout<<"~~~~~Bitte achten Sie auf ihre Eingabe!~~~~~";
if (x==1) goto Anfang;
if (x%y == 0) cout<<"~~~~~Die Zahl "<< x << " ist leider keine Primzahl!~~~~~\n";
if (x%y == 0) goto Anfang;
if (x%y !=0) y=y+1;
}
while(y!=x);
cout <<"*****Die Zahl "<< x << " ist eine Primzahl!*****\n";
goto Anfang;
return 0;
}
|
|
|
|
01/22/2013, 22:44
|
#4
|
elite*gold: 0
Join Date: May 2009
Posts: 827
Received Thanks: 471
|
|
|
|
01/22/2013, 22:51
|
#5
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Dein Test ist ziemlich ineffizient (du musst nur die Teilbarkeit bis zur Wurzel von x prüfen, nicht bis x).
Zudem solltest du dir das mit dem goto schnell wieder abgewöhnen. Womit lernst du C++?
Und ja, 2 % 2 ist 0. Deshalb war in meiner (falschen :<) is_prime Funktion auch vorher eine Abfrage, ob die Zahl gleich 2 oder 3 ist.
|
|
|
01/22/2013, 22:59
|
#6
|
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
|
Modulo in einer While-Schleife, bitteschön:
PHP Code:
bool isPrimzahl(int n) { unsigned int i = 2; while (i <= n / 2) { if (n % i == 0) return false; ++i; } return true; }
Sicher gibts da was effizienteres, für den Anfang sollte das aber einigermaßen verständlich sein (das Sieb des Erathostenes wollte mein Dozent nicht, weil das ja zu schwer zu programmieren ist :<)
|
|
|
01/22/2013, 23:10
|
#7
|
elite*gold: 0
Join Date: Sep 2010
Posts: 1,242
Received Thanks: 707
|
haha ich danke euch allen für eure Hilfe alle mal den hier machen :< xD
Gute Nacht euch allen!
|
|
|
 |
Similar Threads
|
10 mal Schleife, dann 5 Sekunden Pause, dann wieder 10 mal Schleife, ...
05/06/2012 - AutoIt - 6 Replies
Hallo,
wie mache ich es, dass nach 10 Mal Schleife einmal Sleep (5000) gemacht wird?
Danach soll die Schleife wieder aufgenommen werden.
LG
Zottel
|
While / for schleife -.-
03/26/2012 - Web Development - 0 Replies
So ich steh wieder vor einem Problem ich habe versucht den oberen teil erst einmal mit einer forschleife zu vereinfach sprich
$mo1 = $_POST;
$mo2 = $_POST;
$mo3 = $_POST;
$mo4 = $_POST;
$mo5 = $_POST;
$mo6 = $_POST;
$mo7 = $_POST;
$mo8 = $_POST;
|
While Schleife
07/03/2011 - AutoIt - 9 Replies
Hallo Leute,
Ich hoffe das dieser Thread nicht unnötigen Spam erzeugt.
Ich bin ein absoluter Anfänger in Sachen AI. Ich würde gerne wissen wie ich eine While Schleife mit der Leertaste erstelle, das der Bot durchgehend die Leertaste drückt.
Danke euch schon mal :)
Mfg Daarmy
|
while-schleife cast x | schleife ende cast y
07/26/2010 - Diablo 2 Programming - 6 Replies
ich kann nicht einschlafen und versuche gerade halbwach herauszufinden, wie ich den bot etwas casten lassen kann, um ihn anschließend nach 10-15 casts etwas anderes casten zu lassen.
if(NTA_GetResistance(target, NTA_DAMAGE_PHYSICAL) >= 100)
{
if((target.name == "Pindleskin") && NTA_GetResistance(target, NTA_DAMAGE_PHYSICAL) >= 100)
{
var i =0;
while(i<15)
{
return NTC_CastSkill(106, NTC_HAND_LEFT, target);
i++;
|
Autoit schleife die wartet bis das eine oder andere eintritt
07/21/2008 - General Coding - 9 Replies
Hallo zusammen,
ich bastel jetzt schon seit tagen an einem scriptteil aber komme nicht weiter!
Folgendes ich versuche in autoit ein schleife zu bauen , die darauf wartet das
sich entweder ein pixel an der stelle x oder ein pixel an der stelle y verändert .
Anders gesagt die schleife soll warten bis ein pixel am oberen rand schwarz wird
oder der andere pixel unten in einer leiste sich verändert wobei da die farbe unterschiedlich ist !
|
All times are GMT +1. The time now is 08:49.
|
|