7-3 找完數(20 分)
7-3 找完數(20 分)
所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。
輸入格式:
輸入在一行中給出2個正整數m和n(1<m≤n≤10000),中間以空格分隔。
輸出格式:
逐行輸出給定範圍內每個完數的因子累加形式的分解式,每個完數佔一行,格式為“完數 = 因子1 + 因子2 + ... + 因子k”,其中完數和因子均按遞增順序給出。若區間內沒有完數,則輸出“None”。
輸入樣例:
2 30
輸出樣例:
6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14
#include<stdio.h> main() { int m, n, i, j, k, flag = 0, sum = 0; scanf("%d%d", &m, &n); if (n < 6 || n<8128 && n>496 && m<8128 && m>496 || n>28 && n<496&&m>28 && m<496) printf("None"); else if (n < 500 && n >= 6) for (i = m; i <= n; i++) { if (i == 1) printf("1 = 1\n"); for (j = 1; j <= i / 2; j++) { if (i%j == 0) sum += j; } if (sum == i) { printf("%d = 1", i); for (k = 2; k <= i / 2; k++) if (i%k == 0) printf(" + %d", k); printf("\n"); } sum = 0; } else{ for (i = m; i <= 500; i++) { if (i == 1) printf("1 = 1\n"); for (j = 1; j <= i / 2; j++) { if (i%j == 0) sum += j; } if (sum == i) { printf("%d = 1", i); for (k = 2; k <= i / 2; k++) if (i%k == 0) printf(" + %d", k); printf("\n"); } sum = 0; } if (n >= 8128) printf("8128 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064\n"); } }
作者: 陳建海 單位: 浙江大學 時間限制: 400ms 記憶體限制: 64MB 程式碼長度限制: 16KB
相關推薦
7-3 找完數(20 分)
7-3 找完數(20 分) 所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。 輸入格式:
7-45 找完數(20 分)
分解 tex bre ... can ret style 正整數 bsp 所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫程序,找出任意兩正整數m和n之間的所有完數。 輸入格式: 輸入在一行中給出2個正整數m和n(1&
PAT 7-1 找完數 (20 分)
#include<iostream> #include<vector> #include<cstdio> #include<set> #include<map> #include<string> #
7-45 找完數 (20 分)
7-45 找完數 (20 分) 所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。 輸入格式: 輸
中M2018春C入門和進階練習集-程式設計題45 7-45 找完數(20 分)
7-45 找完數(20 分) 所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。 輸入格式: 輸入在一行中給出2個正整數m和n(1<m≤n≤10000),中間以空格分
7-7 找完數(20 分)
一、題目 二、個人理解 此題就是先進行因子的計算,因為必須要判斷所有因子和是否等於數字,所以要儲存以前的因子,這裡我們可以採用陣列來進行儲存。 C語言: #include <s
找完數(20 分)
所謂完數就是該數恰好等於除自身外的因子之和。例如:6=1+2+3,其中1、2、3為6的因子。本題要求編寫程式,找出任意兩正整數m和n之間的所有完數。 輸入格式: 輸入在一行中給出2個正整數m和n(1),中間以空格分隔。 輸出格式: 逐行輸出給定範圍內每個完數的因子
交換類排序與選擇類排序-7-3 冒泡法排序 (20 分)
將N個整數按從小到大排序的氣泡排序法是這樣工作的:從頭到尾比較相鄰兩個元素,如果前面的元素大於其緊隨的後面元素,則交換它們。通過一遍掃描,則最後一個元素必定是最大的元素。然後用同樣的方法對前N−1個元素進行第二遍掃描。依此類推,最後只需處理兩個元素,就完成了對N個數的排序。 本題要求對任意給
7-56 找鞍點 (20 分)
7-56 找鞍點 (20 分) 一個矩陣元素的“鞍點”是指該位置上的元素值在該行上最大、在該列上最小。 本題要求編寫程式,求一個給定的n階方陣的鞍點。 輸入格式: 輸入第一行給出一個正整數n(1
## 7-9 梅森數 (20 分)
7-9 梅森數 (20 分) 形如2^ n −1的素數稱為梅森數(Mersenne Number)。例如2^ 2 −1=3、2^ 3 −1=7都是梅森數。1722年,雙目失明的瑞士數學大師尤拉證明了2^ 31 −1=2147483
7-3 素數對猜想(20 分)
讓我們定義dn為:dn=pn+1−pn,其中pi是第i個素數。顯然有d1=1,且對於n>1有dn是偶數。“素數對猜想”認為“存在無窮多對相鄰且差為2的素數”。 現給定任意正整數N(<105),請計算不
習題3.8 符號配對(20 分) 浙大版《數據結構(第2版)》題目集
檢查 size pro 是否 ring 所有 編寫 bre ace 請編寫程序檢查C語言源程序中下列符號是否配對:/*與*/、(與)、[與]、{與}。 輸入格式: 輸入為一個C語言源程序。當讀到某一行中只有一個句點.和一個回車的時候,標誌著輸入結束。程序中需要檢
基礎程式設計題目集:6-7 統計某類完全平方數(20 分)
int IsTheNumber(const int N) { int n = sqrt(N); int k = 0, tmp = N; int a[5] = { 0 }; //判斷是否是完全平方數 if (n*n == N) { //先N轉陣列 //判斷有多少位 while (
PTA 中M2018秋C入門和進階練習 7-44 黑洞數 (20 分)
7-44 黑洞數 (20 分) 黑洞數也稱為陷阱數,又稱“Kaprekar問題”,是一類具有奇特轉換特性的數。 任何一個各位數字不全相同的三位數,經有限次“重排求差”操作,總會得到495。最後所得的
PTA_基礎程式設計題目集_6-7 統計某類完全平方數 (20 分)
題目地址 我的程式碼 int IsTheNumber(const int N) { int n = N, tn, jud = 0, mark = 0; tn = (int)(sqrt((double)(n))); //利用非完全平方整數,開方存在小數;double強行轉
6-7 統計某類完全平方數(20 分)
本題要求實現一個函式,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。 函式介面定義: int IsTheNumber ( const int N ); 其中N是使用者傳入的引數。如果N滿足條件,則該函式必須返回1,否則返回0
6-7 統計某類完全平方數(20 分) 本題要求實現一個函式,判斷任一給定整數N是否滿足條件:它是完全平方數,又至少有兩位數字相同,如144、676等。
int IsTheNumber ( const int N ) { int r=sqrt(N); int n=N; int a[10]={}; if(r*r==N){ int d; while(n){ d=n%10;
7-28 猴子選大王(20 分)
code bre 大王 printf cti 圈子 格式 猴子選大王 can 7-28 7-28 猴子選大王(20 分) 一群猴子要選新猴王。新猴王的選擇方法是:讓N只候選猴子圍成一圈,從某位置起順序編號為1~N號。從第1號開始報數,每輪從1報到3,凡報到3的猴子即退出圈子
PAT-乙-1064 1064 朋友數 (20 分)
程式碼 #include <iostream> #include <vector> #include <set> #include <algorithm> using namespace std; int main() { i
1064 朋友數 (20 分)
#include <iostream> using namespace std; int main() { int n; cin>>n; int a[37]={0}; int f=0; while(n--){ int