【c語言】(迴圈)找出1到10000的完全數
題目:
找出1到10000中的完全數
完全數:完全數的所有因數之和等於其本身(1不是完全數)
--------如:(6 = 1 + 2 + 3)
思路分析:
- 找出一個數的全部因數
- 判斷因數之和是否等於本身
程式碼實現:
#include<stdio.h>
int main()
{
int num = 0 , i = 0 , sum = 0; // i為迴圈體,sum用於加和一個數的因數
for(num = 2; num <= 10000; num++)
{
sum = 0; // 重置sum
for(i = 1 ; i <= num/2; i++)
{
if(num % i == 0)
{
sum = sum + i;
}
}
if(num == sum)
{
printf("%d\t",num);
}
}
return 0;
}
執行結果:
相關推薦
【c語言】(迴圈)找出1到10000的完全數
題目: 找出1到10000中的完全數 完全數:完全數的所有因數之和等於其本身(1不是完全數) --------如:(6 = 1 + 2 + 3) 思路分析: 找出一個數的全部因數 判斷因數之和是否等於本身 程式碼實現: #include<stdio
【C語言】(windows.h)ShellExecute函式
【SHELL EXECUTE引數說明】 ShellExecute是Windows系統裡面進行操作的一個函式 ( 例如 ) 開啟一個網站: ShellExecute(0, "open", "https://user.qzone.qq.com/82810
【C語言】利用迴圈輸出菱形
輸出菱形的思想主要是用了等差數列 an = a1 + (n - 1) * d 來求每個迴圈的約束條件; 一個完整的菱形必須是由空格 、星形 來組成,切分為兩部分。 題目效果如下: //要求輸出如下圖形 * *** *
【c語言】用迴圈結構輸出下列數字金字塔
#include<stdio.h> void main(){ int i,j,k; for(i=1;i<=10;i++){ for(j=10;j>i;j--) printf(" "); for(k=1;k<=(2*i-1)/2
c語言知識(迴圈)
1)三種迴圈結構: a)for() ; while(); do- while()三種。 b)for迴圈當中必須是兩個分號,千萬不要忘記。 c)寫程式的時候一定要注意,迴圈一定要有結束的條件,否則成了死迴圈。 d) do-while()迴圈的最後一個w
【c語言】編寫程式打印出以下形式的楊輝三角形
楊輝三角形 可以將楊輝三角形的值放在一個方形矩陣的下半三角中,如需列印7行楊輝三角形,應該定義等於或大於7x7的方形矩陣,只是矩陣的上半部分和其餘部分並不使用。 楊輝三角形具有以下特點: (1)第一列和對角線上的元素都為1; (2)除第一列和對角線上的元素之外,其他的元素的值均
【C語言】斐波那契數列的兩種演算法(迴圈,遞迴)
#include<stdio.h> int Fabio(int n) //迴圈 { int i; int f1 = 1; int f2 = 1; int f3 = 1; for(i = 2;i<n;i++) { f3 = f1 + f
【C語言】寫程式碼可以在整型有序陣列中查詢想要的數字,找到了返回下標,找不到返回-1.(折半查詢)
定義一個數組,設定它的左右下標,同時定義一箇中間下標mid,每次進行折半查詢,若要查詢的數比mid小,則右下標等於mid-1,若要查詢的數比mid大,則左下標等於mid+1。若要查詢的數等於mid,則迴圈停止。 #include<stdio.h> #include<string
【C語言】數據對其(內存對齊)
brush size return () def ont http 之間 sign 數據對齊 結構體之間的對齊是有很多種方法的,也是根據你所用的系統位數有關。下面都是以32位系統來講的,32位系統一般以字對齊,字就是系統位數,32位系統則是32位對齊,也就是4字節(in
【C語言】指標的算術運算(指標+/-整數、指標+/-指標)
一、指標+/-整數 在之前學習指標時,我們知道指標其實也是一種特殊的變數,既然這樣,那麼指標應該和普通變數一樣,可以進行算術運算。那問題就來了,是不是對指標的任何運算都是合法的呢? 答案是它可以執行某些運算,但並非所有的運算都合法。(指標可以進行加減法,對於乘除法是非法的)
【C語言】求Fibonacci數列的前20項(陣列)
//求Fibonacci數列的前20項 #include "stdio.h" int main(){ int i,j; int f[20] = {1,1};//賦值數列前兩項
【C語言】位元組對齊問題(以32位系統為例)
1. 什麼是對齊? 現代計算機中記憶體空間都是按照位元組(byte)劃分的,從理論上講似乎對任何型別的變數的訪問可以從任何地址開始,但實際情況是在訪問特定變數的時候經常在特定的記憶體地址訪問,這就需要各型別資料按照一定的規則在空間上排列,而不是順序地一個接一個地排放,這就是對齊
【C語言】實現一個計算器(兩種方式)
1.使用switch…case…語句實現 #define _CRT_SECURE_NO_DEPRECATE 1 #include <stdio.h> #include <stdlib.h> int add(int x, int y) { &nb
【C語言】實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)的置0或者置1操作,並保持其他位不變
請編碼實現以下功能的函式 功能:實現對一個8bit資料(unsigned char 型別)的指定位(例如第n位)的置0或者置1操作,並保持其他位不變。 函式原型:void bit_set(unsigned char *p_data,unsigned char position,int flag)
【c語言】帶你真正走進指標的世界——陣列與指標的關係(一)
每天下課之後,都感覺老師上課在神仙程式設計,我們一群凡人在底下面無表情地走神,前一秒還是在講加減乘除的基本用法,後一秒就變成了指標陣列、陣列指標、結構體指標和N級指標的性質以及運用............(真是令人頭禿 —^—) ——————
【C語言】多項式加法(mooc第七週測試題)
這個小題目吧我折磨的夠嗆,,主要在於特殊情況考慮不周,測試用例老是通不過。。 小結: 做法:用一個數組來儲存多項式,用下標表示冪次數,陣列元素值表示對應係數 輸出特殊格式考慮:係數和冪次數為0,1,-1的情況,負係數的對加號輸出的影響 題目內容:
【c語言】利用指標模式實現字串函式(strlen、strcat、strstr、strcpy、strcmp、memcpy、memove)
模擬實現strlen int my_strlen(const char *p) { assert(p != NULL); char *s = p; while (*p) { p++; } r
【c語言】巨集(#define、#和##)與函式比較
#define -定義識別符號 ef:#define在預處理階段替代所有的Max #define Max 100 int main() { printf("%d\n", Max); system("pause"); return 0
【c語言】小程式遊戲——飛機遊戲(一)
下面來介紹一個簡單的遊戲,其中用到的c語言知識屬於基礎內容,所以特別容易上手 ~~~~~~~飛機遊戲~~~~~~~~~ 首先按照常理我們知道,肯定要在介面上繪製出一個飛
【c語言】小程式遊戲——飛機遊戲(二)
在接下來,我們需要對飛機新增一些屬性: 1.利用鍵盤控制飛機的移動