C :: Recursive Function For Finding And Summing Prime Factors?
Mar 6, 2015
main function:
Code:
int main(){
int n, s = 0;
printf("Insert number: "); scanf("%d", &n);
if (n == 0 || n==-1 || n==1){ printf("No prime factors!
"); return 0; }
if (n < -1) { n = - n; printf("Prime factors: -"); }
[Code] ....
Recursive function
Code:
static int i = 2;
int primefactors (int n) {
if (n == 1) return 0;
if (n%i == 0) {
printf("%d ", i);
return i + primefactors(n / i);
[Code] ....
View 8 Replies
ADVERTISEMENT
Mar 18, 2015
I am trying to find the prime factors of a number but when i compile and run my code after i enter a number it just closes it doesn't print ....
included library : [URL] ....
#include "std_lib_facilities.h";
void prime(int n) {
int result;
result = 0;
int i;
for (i = 2; i == n*n; ++i)
[Code] .....
View 14 Replies
View Related
Oct 22, 2013
I have to create a program where I need to find the prime factors of a number and express it using exponents.
For example, for the number 1368 should output:
1368 = 2^3 * 3^2 * 19^1
This is my code:
void primeFact (int n){
int i;
int score = 0;
[Code].....
View 3 Replies
View Related
Mar 23, 2013
What is the largest prime factor of the number 600851475143 ?
This is what I have. If I replace 600851475143 by 1000 (for example), it works fine until 2 divides 1000 to 500, 250, 125...but when it has to find the next divisible prime (ie 5) it cannot do that and the program stops working.
Code:
#include<iostream>
using namespace std;
bool find_prime(int number) {
int factor, num;
factor = 2;
num = number;
[Code] .....
View 1 Replies
View Related
Jan 6, 2015
I am working on an assignment to enter a number and print all the prime factors of that number. I have that working, but the assignment demands the output be formatted in a strange way which I can't figure out. For example, in my current program entering 10 gets me 25, which is actually 2 and 5. But it should get me: ( 2 * 5 ) but I can't figure out how to do this. On the chance you need it, my code is below:
Code:
#include <iostream>
using namespace std;
int main( )
{
cout << "Number: ";
[Code].....
View 12 Replies
View Related
Apr 21, 2014
find the prime factors of the number input by the user. This time, we are going to have the user input a number, and the program will find all prime numbers from 2 to that number and prime factors of the number input by the user
#include <iostream>
#include <cmath>
using namespace std;
[Code]......
View 5 Replies
View Related
Sep 16, 2014
As an assignment for school , I've to write a program to find the sum prime factors of a user input integer.
E.g. 20 = 2 x 2 x 5 , Sum = 2 + 2 + 5 = 9
E.g. 10 = 2 x 5 , Sum = 2 + 5 = 7
My method for finding the result is as follows :
- Divide the number by increasing values if int i , starting from i=2.
- Once I get a value of i that can divide the number without giving me a remainder , I add this value of i to int sum and divide the number by i.
- I will repeat this process until the user input value is equal to 1.
My code is as shown:
#include<stdio.h>
int primecheck(int n); // Function to check if i is prime
int primesum(int n); // Function to sum the values of i that are prime
int main(void) {
int n;
int sum;
printf("Enter a number (> 1): "); //Prompting and scanning user input ,n
scanf("%d",&n);
sum = primesum(n);
[Code] .....
But for some reason I keep getting an incorrect result, it's as if it is missing out the last factor for each case.
Eg. 20 = 2 x 2 x 5 , the result I get is 4 , which is 2+2
Eg. 40 = 2 x 2 x 2 x 5 , the result I get is 6 , which is 2+2+2;
I've looked through my code numerous times.
View 7 Replies
View Related
Jul 13, 2013
What is the most efficient algorithm for finding how many factors a number has? I've just been doing brute force division up to (n - 1) / 2 thus far. How can this be optimized?
View 5 Replies
View Related
Aug 24, 2014
I'm a new coder for C++, and I've recently learned java before starting this programming language. I'm attempting to find all prime numbers up to the number a user enters (i.e. User enters 10, System shows "1,2,3,5,7"),
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char** argv) {
int num;
cout << "Enter a positive number." << endl;
[Code] ....
I've been looking at my forloop, and I can't seem to pinpoint the problem with it.
View 1 Replies
View Related
Oct 3, 2013
cin.ignore (10);
return 0;
}
Its not working
View 2 Replies
View Related
Oct 3, 2013
We need it to say if the number is prime or not we need the equation for the if statement or if we have something else wrong to let me know.
#include <iostream>
using namespace std;
int main () {
int number;
bool countr;
for (countr = 0; countr <= 2; countr ++)
[Code] ....
View 1 Replies
View Related
Mar 17, 2013
I have written a program that finds the divisers of non-prime numbers and outputs them. However, the output is only one diviser per line(because of the repetition to find the divbisers), but the instructor wants us to have 5 to 10 divisers per line. How can i write this loop so it will only output the divisers in one line?
View 1 Replies
View Related
Feb 18, 2013
A prime number is a number greater than 1 which is only evenly divisible by 1 and itself. For this assignment you will find which numbers from 2 to n (where n is a user-specified number) are prime. Ask the user for a number, n, greater than 2. Keep asking for a number until a number greater than 2 is provided. Assume that the user will only enter numbers (that is, you do not need to check if a user enters text).
Use a loop to iterate on a variable, i, from 2 through n. For each iteration, check all numbers from 2 through i to determine whether the number is prime. If it is prime, print out i and the word "Prime". Use the modulus operator, %, to determine if a number is prime
Example output:
Please enter a number larger than two: -939 Please enter a number larger than two: 2 Please enter a number larger than two: 20 2 Prime 3 Prime 5 Prime 7 Prime 11 Prime 13 Prime 17 Prime 19 Prime
This is what I have so far. I suppose i'm not really understanding how to continue with the second for loop. The first one just prints out a list of numbers from 2 to the number designated by the user. In my case that variable is user_input.
Code:
// Alen
// Prime
//
# include <iostream>
using namespace std;
[Code] ....
View 11 Replies
View Related
Feb 20, 2015
Write a program that prompts the user to enter a number larger than 2. The program should use the Number class to determine the prime numbers between 2 and the number entered, and display them in the console window.I've been stuck for a while now and just lost in implementing classes and contstructors.
#include <iostream>
using namespace std;
int main(int argc, char * argv[])
{
cout << "Enter a number larger than 2: " << endl;
int n;
cin >> n;
View 1 Replies
View Related
Sep 15, 2013
I have a very large number in word ~6million digits long
I wish to make a program to check if it is prime.
View 5 Replies
View Related
Mar 10, 2013
I am trying to find the largest prime factor of a number. But when I am trying to determine if a number is a prime number in the function:
int is_prime(int number), I am unable to exit the loop.
Here is the code:
#include<iostream>
using namespace std;
int is_prime(int number) //the problem is in this function {
int num = number;
int factor=0;
do{
num++;
for(int i=1;i<(num+1);i++){
[code].....
So when the program runs, it first divides 20 by 2, to get 10, then divides 10 by 2 to get 5. Since, // condition 1 is not met, it passes 2 to the function int is_prime(int number). The function is able to return 3, but cannot exit the loop when num is 4.
I think the problem lies in the function: int is_prime(int number).
View 5 Replies
View Related
Nov 27, 2014
How do I change the following recursive function into a iterator function and basically what should it look like?
int f(int i) {
if(i<2)
return i;
return f(i-2)+f(i-1);
}
View 1 Replies
View Related
Nov 29, 2014
I had the following question in my exam and received 3 out of a possible 4 marks
Here is the question:
Assume the following recursive function:
int f(int i)
{
if(i < 2)
return i;
return f(i - 2) + f(i -1);
}
Translate this function into an iterative version:
Here is my solution:
int f(int i)
{
int prev,next,final;
prev = 0;
[Code]....
View 9 Replies
View Related
Nov 30, 2014
I am trying to translate the following recursive function into its iterative function:
int f(int i)
{
if(i < 2)
return i;
return f(i - 2) + f(i -1);
}
This is what I tried to do:
int f(int i)
{
int prev,next,final;
prev = 0;
next = 1;
if(i==1)
final = i;
[Code] .....
View 1 Replies
View Related
Nov 30, 2014
I am trying to translate the following recursive function into its iterative function:
int f(int i) {
if(i < 2)
return i;
return f(i - 2) + f(i -1);
}
This is what I tried to do:
int f(int i) {
int prev,next,final;
prev = 0;
next = 1;
[Code] ....
View 1 Replies
View Related
Nov 16, 2013
The recursive function is bolded, i got feedback and was told that the static variable made the function seem a lot like a iterative function but he did not say why.
Code:
#define MAX 100
#include <string.h>
#include <stdio.h>
int checkPalindrome(char string[MAX]);
int checkRecPalindrome(char string[MAX]);
[Code] .....
View 7 Replies
View Related
May 5, 2014
I'm writing a program that starts at a given number n and adds all the way to 2:
n + (n-2) + (n-4) + (n-6) + .....
The following is my code, it compiles but after I enter an integer the program crashes.
Code:
#include<stdio.h>
#include<stdlib.h>
int sum_even(int n);
int sum_even(int n){
if(n==1){
[Code] ....
View 11 Replies
View Related
Nov 9, 2013
the functions checks if the word is a palindrome like"level" "madam" etc. but with input "dfdfdfdffdfd" my recursive function fails.
Code:
/* main.c - Created on: Nov 9, 2013 - Author: Kaj P. Madsen*/
#define MAX 100
#include <string.h>
#include <stdio.h>
int checkPalindrome(char checkString[MAX]);
int checkRecPalindrome(char checkString[MAX], int strLgt, int a);
}
[code]....
results from "dfdfdfdffdfd" added some print to see that its the variables a and strLgt not functioning properly
Code:
dfdfdfdffdfd.
The word is not a palindrome(iterative)
strLgt: 11 a: 0
a: d strLgt: dstrLgt: 10 a: 1
a: f strLgt: fstrLgt: 9 a: 2
a: d strLgt: dstrLgt: 8 a: 3
a: f strLgt: fstrLgt: 7 a: 4
The word is palindrome (recursive)
View 4 Replies
View Related
Jan 5, 2015
I am trying to make from f_rec (recursive function) to f_iter (iterative function) but I can't.
(My logic was to create a loop to calculate the results of f_rec(n-1), another loop for 2*f_rec(n-2) and one loop for f_rec(n-3);
But I'm wrong)
int f_rec(int n) {
if(n>=3)
return f_rec(n-1)+2*f_rec(n-2)+f_rec(n-3);
[Code] .....
I also think that my run time for the f_rec is 3^n ...
View 2 Replies
View Related
Feb 9, 2013
I am just practicing some recursion and I am having trouble with printing out a recursive function in main. Here is what I have:
Code:
// This function adds the squares 4, 5 = 4*4 + 5*5 recursiveley
int recursive_sumSquares(int m, int n) {
if (m < n) {
return m*m + recursive_SumSquares(m+1, n);
}
else {
return m*m;
[Code]...
I am getting an error that says undefined reference to 'recursive_SumSquares'
View 2 Replies
View Related
Jun 10, 2013
I am working on a problem that requires a nest for loop to be converted to a recursive function. I am going to provide just the code instead of the entire program.
Code:
for (R1=1; R1 <+3, R1++){ //for loop
printf (something);
}
// the recursive function
void loopR1 (int R1, int max){
if (R1 <= max){
printf (something);
[Code]...
when calling the recursive function in main i am using the following statement...
loop r1(1,3)
View 4 Replies
View Related