① 用c語言輸入兩個正整數,求出這兩個數之間的所有素數的和,應該怎麼做
具體思路:利用循環判斷素數,將結果傳遞給控制變數,由控制變數來判斷是否執行自增以及求和。
注意:1既不是素數也不是合數。
② C語言編程:輸入兩個正整數m和n,求它們的最大公約數。
#include <stdio.h>
int gcd(int a,int b)
{
if(a%b)
return gcd(b,a%b);
return b;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
printf("%d ",gcd(m,n));
return 0;
}
③ C語言編程:輸入兩個正整數,輸出其中最大公約數和最小公倍數。
#include<stdio.h>
int main(){
int a,b,num1,num2,temp;
printf("please input two number: ");
scanf("%d%d",&num1,&num2);
if(num1<num2){
temp = num1;
num1 = num2;
num2 = temp;
}
a = num1;
b = num2;
while(b!=0){ /*利用輾除法,直到b為0為止*/
temp = a%b;
a=b;
b=temp;
}
printf("gongyueshu:%d ",a);
printf("gongbeishu:%d ",num1*num2/a);
}
(3)c語言輸入兩個自然數擴展閱讀:
此題使用的是歐幾里德演算法,又稱輾除法。
只要可計算余數都可用輾轉相除法來求最大公因子,包括多項式、復整數及所有歐幾里德定義域(Euclidean domain)。
輾轉相除法的運算速度為 O(n2),其中 n 為輸入數值的位數。
利用輾轉相除法方法,可以較快地求出兩個自然數的最大公因數,即gcd 或叫做HCF 。
最大公約數(greatest common divisor,簡寫為gcd;或highest common factor,簡寫為hcf)
所謂最大公因數,是指幾個數的共有的因數之中最大的一個,例如 8 和 12 的最大公因數是 4,記作gcd(8,12)=4。
網路-輾除法
④ c語言編程:輸入兩個正整數m和n,求其最大公約數和最小公倍數。
輸入兩個正整數m和n,求其最大公約數和最小公倍數。
解:程序:
#include <stdio.h>
int main()
{
int num1, num2, t,p;
printf("請輸入兩個正整數:");
scanf("%d,%d", &num1, &num2);//7,8
p = num1*num2;
while (t = num1%num2)//7 1 0,循環結束
{
num1 = num2; //8 7
num2 = t; //7,循環繼續 1
}
p = p / num2;
printf("它們的最大公約數:%d ", num2);
printf("它們的最小公倍數:%d ", p);
return 0;
}
結果:
請輸入兩個正整數:3,6
它們的最大公約數:3
它們的最小公倍數:6
(4)c語言輸入兩個自然數擴展閱讀:
C語言編寫注意事項:
1、每個程序中一定包含main()函數,盡管C語言中對函數命名沒有限制。
2、printf函數永遠不會自動換行,只能用 來實現,回車鍵進行的換行在編譯中會出現錯誤信息。
3、在vs2008中編譯,測試需要加 system("pause");來暫停dos自動退出導致的printf無法顯示。
4、每行只書寫一條語句,在運算符兩邊加上一個空格,便於閱讀。
⑤ 用c語言編寫:輸入倆個自然數,其和事667,最小公倍數與最大公約數之比為120:1
#include <stdio.h>
int func(int a,int b)
{
int i,j,c;
if(a>b) i=a,j=b;
else i=b,j=a;
c=i%j;
while(c!=0){
i=j;
j=c;
c=i%j;
}
}
int main(void)
{
int x,y;
int a,b;
for(x=1;x<667;x++)
{
y=667-x;
a=func(x,y);
b = x*y/a;
if(fabs(((double)b)/a-120) < 1e-9)
{
printf("%d %d\n",x,y);
}
}
return 0;
}
//最終確認無解。
⑥ C語言編程:輸入兩個正整數a和n,求a+aa+…+aa…a(n個a)之和
完整代碼如下:
#include <stdio.h>
//求第n位的a
int f1(int a,int n){
int an=0;
for(int i=0;i<n;i++){
an=an*10+a;
}
return an;
}
//求a+aa+aaa+...+an的和
int f2(int a,int n){
int s=0;
for(int i=1;i<=n;i++){
s+=f1(a,i);
}
return s;
}
int main()
{
int a,n;
scanf("%d %d",&a,&n);
printf("第%d項的值為:%d ",n,f1(a,n));
printf("所有n項之和:%d ",f2(a,n));
return 0;
}
運行結果:
⑦ C語言編程:輸入2個正整數m和n(1<=m,n<=1000),輸出m~n之間的所有水仙花數。
輸入輸出: Input m:100
Input n:400
153(1*1*1+5*5*5+3*3*3=153)
370(3*3*3+7*7*7+0*0*0=370)
371(3*3*3+7*7*7+1*1*1=371)
C 語言是一種十分強大的語言,可以進行多種方式進行程序的設計,它是一種很有特色的高級語言通過若干個函數組成,它具備構成程序設計的 3 種基本結構順序,選擇和循環結構。
C語言編輯簡潔明了,運算符豐富且功能強大還有編譯預處理功能。此語言的移植性好不同的處理器用不同的編譯器編譯指令達到移植的效果。
(7)c語言輸入兩個自然數擴展閱讀:
C 語言普適性最強的一種計算機程序編輯語言,它不僅可以發揮出高級編程語言的功用,還具有匯編語言的優點,因此相對於其它編程語言,它具有自己獨特的特點。具體體現在以下三個方面:
C 語言的運算范圍的大小直接決定了其優劣性,C 語言中包含了 34 種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。
9 類控制語句和 32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以使用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。
⑧ 如何用計算機C語言編程:輸入兩個正整數,輸出它們的最小公約數和最大公約數
#include
int
min(int
a,int
b)
{
return
a>b?b:a;
}
void
main()
{
int
i;
int
m,n;
printf("輸入兩個正整數:");
//輸入
scanf("%d",&m);
scanf("%d",&n);
//求最小並輸出
for(i=2;i<=min(m,n);i++)
if((m%i==0)&&(n%i==0))
{
printf("最小公約數:%d\n",i);
break;
}
//求最大並輸出
for(i=min(m,n);i>=2;i--)
if((m%i==0)&&(n%i==0))
{
printf("最大公約數:%d\n",i);
break;
}
}
⑨ [C語言]編程:輸入兩個正整數,求其最大公約數和最小公倍數
程序如下:
main(){
int a,b,r,gcd,lcm;
printf("請輸入兩個正整數:");
scanf("%d%d",&a,%b);
while(r=a%b){
a=b;
b=r;
}
gcd=b;
lcm=a*b/gcd;
printf("gcd=%d,lcm=%d\n",gcd,lcm);
}
就是這樣。
有什麼問題請留言。
⑩ 用C語言:輸入2個正整數a和n,求a+aa+aaa+...(n個a)之和。我寫這個程序錯在哪
不要用pow
這個結果是double的, 轉成r會取整。
r=r+a*pow(10,i);改成
r=r*10+a;
例如:
#include <stdio.h> main() { int a,n,sum,i,q; scanf("%d %d",&a,&n);
q=n; sum=0; for(i=1;i<=n;i++) { sum=sum+a*q; a=a*10; q--;}
printf("%d",sum); return 0; }
(10)c語言輸入兩個自然數擴展閱讀:
Ⅰ 1是正整數;
Ⅱ 每一個確定的正整數a,都有一個確定的後繼數a' ,a'也是正整數(數a的後繼數a『就是緊接在這個數後面的整數(a+1)。例如,1『=2,2』=3等等。);
Ⅲ 如果b、c都是正整數a的後繼數,那麼b=c;
Ⅳ 1不是任何正整數的後繼數;
Ⅴ 設S⊆N*,且滿足2個條件(i)1∈S;(ii)如果n∈S,那麼n'∈S。那麼S是全體正整數的集合,即S=N*。(這條公理也叫歸納公理,保證了數學歸納法的正確性)