如何用c語言優化求7數位以內的水仙花數?
#include<stdio.h> #include<math.h> int main() { int n,i,b,c,f,g,e,sum,count; scanf("%d",&n); b=pow(10,n); c=pow(10,n-1); if(n>=3&&n<=7){ for(i=1;i<b;i++){ if(sum==i&&sum<b&&sum>c){ printf("%d\n",sum); } sum=0; count=0; for(f=i+1;n!=count;f=f/10){ e=f%10; g=pow(e,n); sum+=g; count++; } } } return 0; }
相關推薦
如何用c語言優化求7數位以內的水仙花數?
#include<stdio.h> #include<math.h> int main() { int n,i,b,c,f,g,e,sum,count; scanf("%d",&n); b=pow(10,n); c=pow(10,
【C語言】求一千以內的素數 第一種方法
第一種方法:平常思維(人們第一印象會想到的) //什麼是素數? -- 除了1和本身之外不能被其他數整除的數 #include "stdio.h" int main(){ int n,j,f;//變數解釋:n為我們要判斷的數,j為要與n相除的數,f為標誌 0 表示不是素數
用c語言實現求數值的最大值。
對於求10個整數中的最大值這類問題,具體分析和解決辦法如下。 第一類:給定一個具體的陣列求陣列中的最大值 程式1: #include<stdio.h> #include<stdlib.h> int main(){ int arr[10] = { 1, 2,
用c語言編寫求n的k次方函式,用迭代和遞迴兩種方法
在c語言中求n的k次方函式。雖然c語言中庫函式中已經存在,但是知道它的程式碼或者實現思想也是很必要的。那麼我們用兩種方式來實現:第一種:迭代法(效率在資料量比較大時要相比遞迴快一點)int power_ineration(int n,int k)//迭代 { int q =
《C語言及程式設計》實踐參考——水仙花數
【專案2-水仙花數】對於三位數字,若各位數字立方和等於該數,該數就是水仙花數。如153:153=1^3+5^3+3^3[參考解答]解法1:窮舉三位數的各位數,將他們組合在一起後判斷#include &l
懶癌晚期學圖論的時候自己用C語言寫了個求可達性矩陣的演算法~
可達性矩陣演算法~ 直接上程式碼 #include <iostream> #include <cstring> using namespace std; #define n 5 void print(int a[n][n]); void print1(int a[n][n]); v
用C語言求一元二次方根(包括虛根)
#include <stdio.h> #include <math.h> float a,b,c,result; void underZero(){ float part1 = (-1)*b/(2*a); float part2
C語言練習4-7 求e的近似值
練習4-7 求e的近似值 在做這道題目的時候有點懵,一開始用的是兩個for迴圈,後來發現一個for迴圈也可以除錯成功。希望有路過的可以幫忙指點一下~渣渣小妹不勝感激! 自然常數e可以用級數1+1/1!+1/2!+⋯+1/n!來近似計算。本題要求對給定的非負整數n
用C語言求出0~999之間的所有“水仙花數”並輸出
執行環境: win10 vs2013 “水仙花數”是指一個三位數,其各位數字的立方和確好等於該數本身,如;153=1+5+3?,則153是一個“水仙花數”。 在數論中,水仙花數(Narcissis
C語言:求單詞的個數,用上isalpha
#include<stdio.h> #include<assert.h> #include<ctype.h> //求單詞的個數,用上isalpha int NumWord(char *str) { assert(str
用c語言求最大公約數和最小z公倍數的函式
1. ```#include<stdio.h> #include<stdlib.h> int fun(int a,int b) { int i,t,n,f; f=a*b; if(a<b) {t=a; a=b; b=t; } while(b!=0) {n=a
用c語言實現1000個隨機數序列與7位卷積核卷積
有註釋,程式碼如下: #include "stdio.h" #include "stdlib.h" #include "time.h" #define SEIRE_LEN 1000 //序列長度 #define KERNEL_LEN 7 //卷積核長度 #d
初學C語言:求圓周率pi的近似值(pi/4=1-1/3+1/5-1/7...)
#include<stdio.h> #include<math.h> int main() { double pi1,pi2,j=0,i=0,u=0,v=0;
用C語言求組合數
C語言求組合數不能直接使用數學公式C(n,m)=(m!)/(n!*(m-n)!);即使VC 6.0的int是32bit,但其實當計算到17!時候就會溢位,所以需要另闢蹊徑。 先來把公式變形。 (m!)/(n!*(m-n)!)=(m*(m-1)*(m-2)
用C語言編寫程式:求兩數的最大公約數。
此程式用了3個方法(相減法、窮舉法、輾轉相除法)來求兩數的最大公約數,使用者可自己選擇用哪種演算法。 #include<stdio.h> #include<stdlib.h> int select=1;//select 為是否退出系統的標記 voi
用c語言求取一個矩陣的最大值及其下標
思想:將矩陣看做一個二維陣列,用scanf()函式輸入矩陣,將陣列首位設定為最大值max,將max與陣列中數按順序兩兩比較,更新max,比較到最後一位得到最終max。void main(){ int a[3][4],i,j,max,max_i,max_j; pri
c語言實現求組合數(帶點優化的思想,防止溢位)
這是大家都知道的組合數,思想也很簡單,但是裡面的階乘,容易溢位,讓m!/n!先約分,減小數的大小,m!/n! = (n+1)(n+2)(n+3)···(m-1)(m); 如果m-n > n的話,我們就讓n = m-n.j儘可能讓乘起來的數小一點。程式碼列印的是25裡
用C語言解決迷宮問題
type out reverse print top stdio.h || 當前位置 坐標 #include <stdio.h> #include <stdlib.h> #define ROW 10 #define COL 10 /*迷宮中位
C語言中求字符串的長度
類型 char 計算 語言 col pan har 字符 str1 在C語言中求字符串的長度,可以使用sizeof()函數和strlen()函數,後者需要引入string.h (#include <string.h>) 因為C語言字符串是以 \0 結尾表示結束的
sqlite學習筆記7:C語言中使用sqlite之打開數據庫
實例 clas details code 返回 pri san filename stdlib.h 數據庫的基本內容前面都已經說得差點兒相同了。接下看看如何在C語言中使用sqlite。 一 接口 sqlite3_open(const char *filename, s