Fallen did the ispirme function.
But the whole script has to check if the given number (in this case 15) is dividable by 3 if not try dividing with 5 and so on.
That's the easy part.
I don't know if there's a limit with number size in C, but the script I written in Python should work with all numbers. But the process itself takes ridiculously long at big numbers.
But the whole script has to check if the given number (in this case 15) is dividable by 3 if not try dividing with 5 and so on.
That's the easy part.
(10-09-2009, 04:31 AM)Etheryte Wrote: I can throw you that up quick in enough, but only in C. But you someone should be able to translate it. What's the biggest possible number to be entered (eg. max value of x*y)?
Edit:
Here's your solution in C, maybe someone can take the concept and write it down in Python.
To test the exe version of my code, just download it.
Code://Include standard input-output.
#include <stdio.h>
//Function to check, whether the provided number is a prime, if it is, returns 0.
int start(int a)
{
int i;
for(i=2;i<(a/2)+1;i++)
{
if(a%i==0)
return 1;
}
return 0;
}
//My lovely main function.
int main()
{
//Lets the user know the program is online.
printf("Starting...\n");
//A variable to set the amout of primes to calculate.
//The program calculates l+1 first primes.
int l;
l=9999;
//Declaring my variables and an array large enough, to hold the primes.
int i,n,d,a,primes[l];
//The first prime is 2, ergo i=2 at kickoff.
i=2;
n=0;
//While the array is not filled with primes...
while(n<=l)
{
//Find primes. If i is a prime, stick it in the array.
if(start(i)==0)
{primes[n]=i;
n++;
i++;}
else
//If it isn't, keep searching.
{i++;}
}
//Notify of the results, how many primes were calculated, etc.
printf("Done calculating the first %d primes into an array.\n",(l+1));
printf("The last calulated prime is %d,\nso the entered number has to be smaller than the square of that.\n",primes[l]);
printf("Please enter your number: ");
//Read in the number the user is interested in.
scanf("%d",&d);
printf("Searching now...\n");
//Check if the provided number can be produced by multiplying numbers from the array, which holds the primes.
for(a=0;a<n;a++)
{
for(i=0;i<n;i++)
if(primes[a]*primes[i]==d)
{
//If yes, print out the numbers.
printf("Gotcha, your primes are %d and %d!",primes[a],primes[i]);
getchar();
getchar();
return 0;
}
}
//If not, be sad. =(
printf("No primes identified.");
getchar();
getchar();
return 0;
}
//Written by Etheryte, released to the free world.
I don't know if there's a limit with number size in C, but the script I written in Python should work with all numbers. But the process itself takes ridiculously long at big numbers.