當前位置:首頁 » 編程語言 » 求第n個合數c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

求第n個合數c語言

發布時間: 2022-06-16 13:25:21

A. c語言求素數合數

# include <stdio.h>
# include <math.h>

int main(void)
{
int m,i,k;
scanf("%d",&m);

k=(int)sqrt(m);

for(i=2;i<k;i++)
{
if(m%i==0)
break;//here
}
if(i==k)//here
{
printf("%d素數\n",m);
}
else
{
printf("%d合數\n",m);
}
return 0;
}

這個的思想是通過遞增除
到整除的就跳出
也就是你的
if(m%i==0)
break;//here

如果是素數就不會有跳出,則最後的時候i已經增加到k值
所以最後通過判斷i與k是否相等來得知是否是素數

B. c語言 合數的求法

#include<math.h>
#include<stdio.h>
void
main()
{
int
m,k,i,n=0;
for
(m=101;m<=200;m++)
{
k=(int)sqrt(m);
for(i=2;i<=k;i++)
{if(m%i==0)
{printf("%d
",m);
n=n+1;
if(n%8==0)
printf("\n");
break;
}
}
}
printf("\n%d\n",n);
}
200內的合數為79

C. c語言編程,求一個數的合數。急!求大神解答!

#include<stdio.h>
void main()
{
int num,i,s;
scanf("%d",&s);
for(num=2;num<s;num++)
{
for(i=2;i<num;i++)//注意是i<num,不包括本身num
{
if(num%i==0)
{
printf("%d\n",num);
break;//只要滿足一個條件就break
}
}
}
}

D. c語言,求一個數的合數,所謂合數就是將一個數的各位合並相加直到只能是個位數為止

#include <stdio.h>
int main(){
long long int n;
int sum=0;
scanf("%lld",&n);
while(n){
sum+=n%10;
if(sum>9) sum%=9;
n/=10;
}
printf("%d",sum);
return 0;
}

E. c語言編程:合數分解

#include<stdio.h>
intmain()
{inti,k,n;
scanf("%d",&n);
for(i=2;i*i<=n;i++)
if(n%i==0)
{k=0;
while(n%i==0){k++;n/=i;}
if(k>1)printf("%d",i);
}
printf(" ");
return0;
}

F. C++求n個連續自然合數

Q1:p=new ___________; //連續開辟n個整型空間, 將整型空間的首地址賦給p
A1:p=new int[n];
------------------------------------------
Q2:while(_____&&j<n)//當前的數i是合數且沒有找到連續n個時, 循環向後尋找
A2:while(yes(i)&&j<n)
------------------------------------------
Q3:__________;
//對這個對象完成尋找連續的合數的操作, 並把操作結果存放在動態開辟的空間中
A3:num.fun();
------------------------------------------
Q4:_________; //調用對象的成員函數, 輸出連續的合數
A4:num.print();

G. c語言合數問題,哪位高人幫忙。好像我的演算法結構就有問題。。。

//你的漏洞:
#include <stdio.h>
#define N 21
void main()
{
int i,n,m;
printf("請輸入M值:");
scanf("%d",&m);
m++;

loop2:
for(i=2;i<m;i++)
{
if(m%i==0)//你的演算法就是合數肯定進去處理
{
loop1: for(n=2;n<N;n++)
{
for(i=2;i<n;i++)//i和外面的i沖突了
{
if(n%i==0)
goto loop1;
}
if(m%n==0)
{
m++;//m++到素數的時候
goto loop2;
}
}
}
//m++到素數的時候,不會進if處理,最後得到的是大於輸入的最小素數
}
printf("%d\n",m);
}
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
//在你基礎上修改如下:
#include <stdio.h>
#define N 21
void main()
{
int i,j,n,m;
printf("請輸入M值:");
scanf("%d",&m);
m++;

loop2:
for(i=2;i<m;i++)
{
if(m%i==0)
{
for(n=2;n<N;n++)//其實小於21的素數就8個,沒必要for浪費資源
{
for(j=2;j<n;j++)//i和外面的i沖突了
{
if(n%j==0)
{
break;//修改,不能到loop1
}
}
if( j==n && (m%n==0) )//修改,j==n則素數
{
m++;
goto loop2;
}
}
break;
}
}

if ( i==m )//增加,m是素數繼續
{
m++;
goto loop2;
}

printf("\n求得合數:%d\n",m);

//增加分析:
//不能有素數因子2 3 5 7 11 13 17 19
printf("\n\n合數%d的所有因子:\n",m);
for (i=2;i<m;i++)
{
if (m%i == 0)
{
printf("%-5d",i);
}
}
printf("\n\n輸入20675看看\n");
}

H. 求C語言編程:輸出1-100之間所有的合數

定義:一個數被1和他本身整除外,還有1個或以上因數的自然數為合數。
程序改正如下:
#include<stdio.h>
void
main()
{
int
num,i;
for(num=2;num<100;num++)
{
for(i=2;i<num;i++)//注意是i<num,不包括本身num
{
if(num%i==0)
{
printf("%d\n",num);
break;//只要滿足一個條件就break
}
}
}
}
程序已通過編譯測試。
回答完畢,如果覺得回答得好,請採納為最佳答案。

I. C語言,NOJ上有一道題,探索合數世紀,不會做,望指點

您好,1、當x=1時,a-b+c=0;
2、當x=-2時,4a+2b+c=1;
3、a+b=1/3;
4、(2)-(1),得3a+3b=1;
5、從上面各式,可以求出:b=1/3-a,c=1/3-2a;
6、原方程變為:ax^2-(1/3-a)x+1/3-2a=0;
7、解方程,x = (1/3-a)+-sqrt((1/3-a)^2-4a(1/3-2a))/(2a) = [1/3-a+/-(3a-1/3)]/(2a)
解得兩個根 x1 = 1(已知的);x2 = 1/(3a)-2

J. C語言求1000個數之內的合數

#include <stdio.h>
int main()
{
int i,j;
for(i=4;i<=1000;i++)
for(j=2;j<=i/2;j++)
if(i%j==0)
{
printf("%d\t",i);
break;
}
getchar();
return 0;
}
這是我寫的代碼,應該正確的