【c語言】分解質因數
/******************************
*輸入一個整數,並分解質因數
*流程:(1)如果為1和2直接輸出
*(2):偶數進入do迴圈,防止因為i的自增而出錯;
*(3):奇數進入for迴圈,讓i自增,因為奇數肯定不能一直除2
*data:2017.9.2
*****************************/
#include <stdio.h>
int main(void)
{
int num,i;
scanf("%d",&num);
printf("1*");
if(num == 1)
printf("1\n");
if(num == 2)
printf("2\n");
for(i = 2;i < num;i++){
if(num % 2 == 0)//偶數
do{
num /= i;
printf("%d*",i);
}while(num % i == 0);
else//奇數
if(num % i == 0){
num /= i;
printf("%d*",i);
}
}
printf("%d",num);
return 0;
}
相關推薦
【c語言】分解質因數
/****************************** *輸入一個整數,並分解質因數 *流程:(1)如果為1和2直接輸出 *(2):偶數進入do迴圈,防止因為i的自增而出錯; *(3)
【C語言】統計數字在排序數組中出現的次數
語言 個數 統計 ret r+ () class tdi times //數字在排序數組中出現的次數。 //統計一個數字在排序數組中出現的次數。比如:排序數組{1,2,3,3,3,3,4,5}和數字3,因為3出現了4次,因此輸出4. #include <stdio
【C語言】推斷一個數是否為2的n次方
post data- popu scanf scan ng- 輸入 ont print //推斷一個數是否為2的n次方 #include <stdio.h> int is_two_n(int num) { if ((num&(num - 1))
【C語言】 二叉樹的基本運算
IT btree AS CA style pri != -- str • 二叉樹節點類型BTNode: 1 typedef struct node 2 { 3 char data; 4 struct node *lchild, *rch
【C語言】類型限定詞
變量 可變 oct 包含 一個數 sta ans eof 方式 ANSI C 的類型限定詞有const、volatile以及restrict三個,以下分別介紹三個限定詞: 1、類型限定詞const (1)、如果變量中帶有const關鍵字,則該變量無法進行賦值、增量及減量運算
【C語言】平衡二叉樹
avl 簡介 二叉搜索樹 沒有 TP 假設 它的 left 操作 AVL樹簡介 AVL樹的名字來源於它的發明作者G.M. Adelson-Velsky 和 E.M. Landis。AVL樹是最先發明的自平衡二叉查找樹(Self-Balancing Binary Searc
【C語言】輸入一個整數,求它的原碼,反碼,補碼值
補碼 while src info idt IV com scan -- 1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int m,n,a[10],i=0,y[
【C語言】數據對其(內存對齊)
brush size return () def ont http 之間 sign 數據對齊 結構體之間的對齊是有很多種方法的,也是根據你所用的系統位數有關。下面都是以32位系統來講的,32位系統一般以字對齊,字就是系統位數,32位系統則是32位對齊,也就是4字節(in
【C語言】Coursera課程《計算機程式設計》臺灣大學劉邦鋒——Week4課堂筆記
三次 編譯 scan parameter pass 命令 是把 dex float Coursera課程 《計算機程式設計》臺灣大學 劉邦鋒 Week4 Functions 4-1 System Function 函數主要分為兩大類系統定義函數與使用者定義函數,例如prin
【C語言】學習筆記3——字符串
store 寫代碼 inf 變量類型 density scanf() 想要 限定符 tor 1. 字符串(charcacter string)是一個或多個字符的序列 2. C語言沒有專門用於存儲字符串的變量類型。字符串都被存儲在char類型的數組種。 3. 數組由連續的
【C語言】學習筆記7——指針與多維數組
一個 聲明 %d mage 分享圖片 技術分享 pan 最好 include 1. 聲明一個指向多維數組的指針 int (* pz) [2]; //pz指向一個內涵兩個int類型元素的數組 int * pax[2]; //pax 是一個內含兩個指針元素的
【C語言】二維陣列解魔方陣
解題思路: 魔方陣的排列規律如下(思路來自網際網路): 注意:剛開始我也沒看懂,但是相信我多看幾遍理解已經能看懂的。 如3×3的魔方陣: 8 1 6 &nbs
【C語言】利用選擇法進行從小到大排序
選擇法思路: 取其中的最大值與最後一個數進行交換 假設一共有6個數組,我們用選擇法進行從小到大的排序; 6,5,4,2,3,1 第一次: 【6,5,4,2,3,1】->> 【1,5,4,2,3,6】 第二次:【1,5,4,2,3】,6 ->>【1
【C語言】楊輝三角(陣列)
什麼是楊輝三角(圖片來自網際網路): 楊輝三角陣列做法就是將楊輝三角的結構虛擬成一個二維陣列,通過二維陣列對楊輝三角的規律得出一個演算法來 演算法即為:a[i][j] = a[i-1][j-1]+a[i-1][j]; 一定要注意 arr(0,0) 一定為1 這是整個楊輝三角的計算核
【C語言】 利用篩選法求100以內的素數
演算法思路: 原理很簡單,就是當i是質(素)數的時候,i的所有的倍數必然是合數。如果i已經被判斷不是質數了,那麼再找到i後面的質數來把這個質數的倍數篩掉。 程式碼如下: //C語言 篩選法求100以內的素數 //原理很簡單,就是當i是質(素)數的時候,i的所有的倍數必然是合數。如果i已經
【C語言】利用迴圈輸出菱形
輸出菱形的思想主要是用了等差數列 an = a1 + (n - 1) * d 來求每個迴圈的約束條件; 一個完整的菱形必須是由空格 、星形 來組成,切分為兩部分。 題目效果如下: //要求輸出如下圖形 * *** *
【C語言】製作九九乘法表
程式碼: #include "stdio.h" int main(){ int x,y;//申請行和列變數 for(x = 1;x <= 9; x++){//迴圈行 for(y = 1; y <= x; y++){ // 迴圈列 列數等於當前行數 pri
【C語言】求Fibonacci數列前40項(迴圈)
程式碼為: //求Fibonacci數列前40項 #include "stdio.h" int main(){ long int f1,f2,i; f1 = 1; f2 = 1; //賦初始值 for(i = 1;i<=20;i++){//迴圈20次,一次兩個,結
【C語言】冒泡法排序
1.冒泡演算法: 思路如圖所示(圖片來自bilibili UP:正月點燈籠) 解釋:冒泡演算法的思路通俗一點就是每次將自己想要的數(最大值和最小值)放到陣列的最後一位,然後每次迴圈n-1項就可以達到排序的目的了。 程式碼如下: #include "stdio.h"
【C語言】迷宮
一,涉及知識點 結構體,棧,遞迴 二,實現邏輯 1.定義一個結構體儲存當前位置座標 2.用陣列初始化一個迷宮,1表示可以走,0表示牆,迷宮最後一列都是出口 3.列印迷宮 4.走迷宮方法一:使用棧,通過壓棧出棧回溯;方法二:在棧的基礎上,用遞迴做回溯 5.記錄最短路徑,把路徑壓入