標籤:題目 奇數 輸出 http 大小 技術 因子 順序 arp
1.輸入兩個正整數m和n(要求m<=n), 求m!+(m+1)!+(m+2)!…+n!
#include <stdio.h>int main(){int a,m,n,s1,s2,sum=0;printf("輸入兩個整數m和n,並且m<n\n");scanf("%d%d",&m,&n);if(m<0||n<0||m>n){a=m;m=n;n=a;}for(;m<=n;m++){s2=1;for(s1=1;s1<=m;s1++){s2=s2*s1;}sum=s2+sum;}printf("階乘的值為%d",sum);return 0;}
2.輸出1000以內的所有完數。所謂完數是指這個數恰好等於除他本身外的所有因子之和。例,6的因子為1,2,3,6=1+2+3,所以6是完數。
#include <stdio.h>int main(){int a,b,c;for(a=1;a<=1000;a++){c=0;for(b=1;b<a;b++){if(a%b==0){c+=b;}}if(c==a){printf("%d\n",a);}}return 0;}
3.奇偶歸一猜想——對於每一個正整數,如果它是奇數,則對它乘3再加1,如果它是偶數,則對它除以2,如此迴圈,最終都能夠得到1。 如n = 11,得序列:11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1。(共有14個步驟) 題目輸入正整數n,求這個n多少步能歸一
#include <stdio.h>int main(){int n,i;printf("輸入一個正整數n\n");scanf("%d",&n);i=0;do{if(n%2==0){n=n/2;}else{n=3*n+1;}i++;}while(n!=1);printf("這個n%d步能歸一",i);return 0;}
二實驗總結:1.題中規定了m和n的 大小順序,可以加一個變數大小寫替換2.一共有三個完數,每輸出一個需要換行,更清楚了
第五次作業