C語言將一個正整數分解質因數程式碼及解析
將一個正整數分解質因數。例如:輸入888,打印出888=2*2*2*3*37。
程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:
- 如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。
- 如果n>k,但n能被k整除,則應打印出k的值,並用n除以k的商,作為新的正整數你n,重複執行第一步。
- 如果n不能被k整除,則用k+1作為k的值,重複執行第一步。
程式碼實現:
#include <stdio.h>
int main(){
int n; // 使用者輸入的整數
int i; // 迴圈標誌
printf("輸入一個整數:");
scanf("%d",&n);
printf("%d=",n);
// n>=2才執行下面的迴圈
for(i=2; i<=n; i++){
while(n!=i){
if(n%i==0){
printf("%d*",i);
n=n/i;
}else
break;
}
}
printf("%d\n",n);
return 0;
}
執行結果:
相關推薦
C語言將一個正整數分解質因數程式碼及解析
將一個正整數分解質因數。例如:輸入888,打印出888=2*2*2*3*37。程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成: 如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。 如果n>k,但n能被k整除,則應打印出k的值,並用n除以k的商,作為
c語言:將一個正整數分解質因數
Code: /*將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5 */ #include <stdio.h> void main() { int a,i,j; printf("輸入
題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。
public class S40 { public static void main(String args[]) { MyMath math = new MyMath(); //math.fengjie(6); for(int i=1;i<100;i++){ Syste
java經典題丨將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5
程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成: (1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。 (2)如果n > k,但n能被k整除,則應打印出k的值,並用n除以k的商,作為新的正整數你n,重複執行第一步。 (3)如果n不能被k整
python將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。
方法一:用時最小,不過消耗記憶體 """ 5、將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。 """ import time import math num = int(input("請輸入一個正整數:")) # 計算程式開始時間 start01 =
【經典100題】 題目14 將一個正整數分解質因數
C語言實現 #include<stdio.h> void main() { int num, n, i, j, t; int k = 2; int f[10] = { 0 }; int index = 0; printf("請輸入一個正整數:"); scanf("%d"
將一個正整數分解質因數最簡易明白的演算法--java編寫
import java.awt.List; import java.util.ArrayList; import java.util.Scanner; /** * 將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5 * */ public class 分解質因數{ pr
【程式14】 題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> /* 【程式14】 題目:將一個正整數分解質因數。例如:輸入90, 打印出90 = 2 * 3 * 3 * 5。 【分析】 就是從2到自己,一一除過去 */ #if 0 int main
將一個正整數分解成質因數之積
/** * 檔名:Prime.java * 描述:將一個正整數分解成質因數之積 * 來源:網路 * 時間:2019.01.02 * 備註:終稿 * */ import java.util.*; public class Prime { public static void m
將一個正整數分解成連續N個正整數相乘
一個大於2的整數N,他可能等於比它小的若干個整數(大於等於2並且不等於自己)乘積。如果存在這樣的連續整數,將他們輸出,如果沒有則輸出-1。 例: 整數120,120=4*5*6或2*3*4*5。所以輸出[3,4,5],[2,3,4,5] 此處程
C語言實現任意進位制轉換程式碼及解析
問題描述 給定一個 M 進位制的數 x,實現對 x 向任意的一個非 M 進位制的數的轉換。 問題分析 掌握不同數制間的轉換關係是解決問題的關鍵,這裡所說的數制一般包括二進位制、八進位制、十六進位制及十進位制。除了不同的數制還有下面幾個必須要了解的概念。 基數:在一種數制中,只能使用一組固定的數字來表示
c語言 將一個二維陣列行和列的元素互換,存到另一個二維陣列中
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
搜題摸魚系列(practice 4:正整數分解質因數)
抄題練習/背4 。。。題從網上搜的,給自己看的,侵刪 package practice; import java.util.Scanner; public class four4 { public static void main(String[] args) { int
一個正整數分解為幾個連續的正整數之和
題目: 給定你一個數字 如:15 15可分解為 7+8 4+5+6 1+2+3+4+5 再如: 8 8不可分解為任何連續的正整數之和 所以輸出NONE 此題就是給定一個數字如果這個數字可以分解為
java:演算法 - 正整數分解質因數
題目:將一個正整數分解質因數。例如:輸入90,打印出90 = 2 * 3 * 3 * 5。 程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成: (1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。 (2)如果n<>k,但n能被k整除,
將一個正整數n,拆分成連續的自然數之和,輸出所有可能的情況
http://blog.csdn.net/kennyrose/article/details/6544518 本文連結,感謝分享!! from程式設計之美2.21 問題描述:將一個正整數,拆分成連續的自然數之和,輸出所有可能的情況 例如: 3 = 1+2
C語言將一個位元組逆序
原來一個位元組0x36,二進位制資料為:0011 0110,現要將其轉換為0110 1100,程式碼如下:</pre><pre name="code" class="cpp">#include
python:判斷輸入的正整數是不是迴文數 迴文數是指將一個正整數從左往右排列和從右往左排列值一樣的數
判斷輸入的正整數是不是迴文數,迴文數是指將一個正整數從左往右排列和從右往左排列值一樣的數(不用切片的寫法) def main(): num = int(input('請輸入一個正整數: ')) temp = num num2 = 0
C語言將字串轉為整數
1、C語言有atoi、atol、atof等庫函式,可分別把ASCII編碼的字串轉化為int、long、float型別的數字。需要注意的是,這個幾個函式是C語言提供的擴充套件功能,並不是標準的函式,必須引入標頭檔案# include <stdlib. h&g
C/C++語言實現十進位制正整數轉化為2-16進位制的數並輸出
<h3>/<span style="font-size:18px;">/將一個十進位制的正整數轉化為H進位制並輸出--拓展 在此先研究對於正整數的進位制轉換 以及2-16的進位制與十進位制的轉換 #include <IOSTREAM> using namespace s