輸入一個數,求階乘
問題及程式碼:
#include<stdio.h> int fact(int n) { if(n==1) return 1; else return n*fact(n-1); } int main() { int x; int sum=0,i,j; scanf("%d",&x); for(i=1;i<=x;i++) sum=sum+fact(i); for(j=1;j<=x-1;j++) printf("%d!+",j); printf("%d= ",x); printf("%d\n",sum); return 0; }
執行結果:
相關推薦
輸入一個數,求階乘
問題及程式碼: #include<stdio.h> int fact(int n) { if(n==1) return 1; else return n*fact(n-1); } int main(
(03)從鍵盤輸入一個數,求出這個數的階乘,即 n!。
題目描述 從鍵盤輸入一個數,求出這個數的階乘,即 n!。 演算法思想 首先要清楚階乘定義,所謂 n 的階乘,就是從 1 開始乘以比前一個數大 1 的數,一直乘到 n,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n! 具體
for 建立一個方法:鍵盤錄入一個數 ,求它的 階乘 及 階乘的和
package Way_chongzai; //建立一個方法:鍵盤錄入一個數 求它的階乘 import java.util.Scanner; public class Test_03 {public static void main(String[] args) {Scan
在陣列中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個陣列中的逆序對的總數P。並將P對1000000007取模的結果輸出。
/* 最簡單的思路:陣列的所有數兩兩比較,進行累加,空間複雜度為O(n^2) */ class Solution { public: int InversePairs(vector<int> data) { int P
在陣列中的兩個數字,如果前面一個數字大於後面的數字,則這兩個數字組成一個逆序對。輸入一個數組,求出這個陣列中的逆序對的總數P。並將P對1000000007取模的結果輸出。 即輸出P%100000000
分析:可以利用兩層for迴圈,從頭開始遍歷查詢每一個元素的逆序對數,然後求總和。也可以利用歸併排序的思想來求解。下面是利用歸併排序的思想求解 public class Solution{public int InversePairs(int[] array) {if (ar
有一個從小到大排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。
cti 分享 bre alt 技術 .cn splice 死循環 set <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></titl
輸入一個數,輸出他的二進制碼
dia option body bsp out pos log show 二進制 int a =Integer.parseInt(JOptionPane.showInputDialog (null,"請輸入一個數:")); int e = a;
C語言實現輸入一個數,輸出這個數的立方根
#include<stdio.h> int main() { double x,x1,x2,w; scanf("%lf",&x); x1=x; x2=(2.0*x1+x/(x1*x1))/3.0; w=(x2-x1)/x1; if(w&
C語言實現輸入一個數,輸出這個數的sin值
#include<stdio.h> double shang(double x,int n) { int i; double k=1; for(i=0;i<n;i++) { k=k*x; } return k; } int
輸入10個數,求它們的平均值,並輸出大於平均值的資料的個數。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int sum=0,avg,count=0
Lua --- 輸入一個數字,輸出階乘
1 function fact(n) 2 if 1 == n then 3 return 1 4 else 5 return n * fact(n-1) 6 end 7 end 8 9 print("Enter a number
寫一個函式,輸入一個數,隨機生成N條郵箱
寫一個函式,這個函式的功能是,傳入一個數字,產生N條郵箱,產生的手機號不能重複。郵箱前面的長度是6 - 12之間,產生的郵箱必須包含大寫字母、小寫字母、數字和特殊字元 import random
有一個已經排好序的陣列。現輸入一個數,要求按原來的規律將它插入陣列中。
首先判斷此數是否大於最後一個數,然後再考慮插入中間的數的情況,插入後此元素之後的數,依次後移一個位置。 import java.util.Scanner; public class test30{ public static void main(String[
c語言實現輸入一個數,輸出這個數的sin的值
#include<stdio.h> double shang(double x,int n) { int i; double k=1; for(i=0;i<n;i++) { k=k*x;
程式碼:解題:一組數依次為1~100的十倍,輸入一個數,插入後按從小到大排序並輸出
法一:插進去再排序唄 #include<stdio.h> #include<algorithm> using namespace std; int main() { int
java:輸入一個數,反轉後輸出
public class TEST { public long reverse(long num){ String strnum = String.valueOf(num); StringBuffer buffer = new StringBuffe
給定一個二叉樹,節點值為0-9,從根節點到葉子結點組成一個數,求二叉樹所有組成的數的和
根節點 到葉子節點組成一個數 前序遍歷 每層的值都為上一層*10+本層結點的值 int sumNumbers(TreeNode *root) { int sum=0; if(root==NULL) re
輸入一個數,將順序逆轉,例如輸入123,輸出321
實現程式碼如下:package test; public class Test5 { public static int reverse(int x) { long result = 0; while(x!=0){ int n = x%10; resu
已有一個排好序的陣列,今輸入一個數,要求按原來排序的規律將它插入陣列中
先來看看以下程式碼,這是其他博友的思路,這程式碼看似沒有問題,其實存在很大的BUG,當插入的目標比str[0]更小的時候就會出錯。相信仔細的人就很容易發現問題。 #include<stdio.h> int main() { int str[100]={1,3,4,5,6,7
輸入一個數,判斷是否是偶數!
#include <stdio.h>int main(){ int a; scanf("%d",&a); if(a%2==0) printf("偶數"); else printf("不是偶數"); return 0;}