當前位置:首頁 » 編程軟體 » 合數編程題

合數編程題

發布時間: 2022-09-09 23:25:22

A. c語言編程問題1(追加高分)

你所講的就是篩選法。
用篩選法解題要遵循以下原則:確定范圍, 根據條件, 逐個實驗, 篩區不符合條件的解. 在實際情況下, 如果不符合條件的元素或集合容易求的, 而確定的范圍也有限,則可以優先考慮用篩選法.
下面舉一個求某范圍內素數例子來說明: 用篩選法求素數時有一個著名的方法叫做Eratosthenes篩選法.
方法大致如下:當求1倒100的素數時, 1不是素數,當然劃去, 在2到100內劃去2的倍數(不包括2), 再劃去3的倍數(不包括3),(由於4已經劃去)劃去5的倍數,直至劃去不超過10的倍數,剩下的就都是素數.需要知道的是在初等數論中有有這樣的定理: 合數N的不等於1的最小正因數不大於N的平方根.
對於Redraiment猜想,下面這個代碼可以pass,但是是嚴格來說是不行的,僅僅是因為測試用例的不全面所致,應該還是有好的演算法的(看過大蝦pass0ms的,汗!),不能這樣一個一個的去判斷,對於要求100000000以內的素數個數的話就算用該演算法法也要6秒多。

#include <iostream>
#include <cmath>
using namespace std;
#define max 10000002
bool a[max+1]; //注意,要用bool型,否則在有的伺服器上不能通過
int main()
{
int n,i,s,j,t;
memset(a,1,sizeof(a));
t=sqrt(max);
for(i=2;i<=t;i++)
if(a[i]) // 很重要,演算法的優化,否則會超時
{
for(j=i;j*i<=max;j++)
a[i*j]=0;
}
while(cin>>n&&n!=0)
{
s=0;
for(i=2;i<=n;i++) if(a[i]) s++;
cout<<s<<endl;
}
return 0;
}

來自我的博客http://hi..com/yyvszh/blog/item/a75b872c97c2983d349bf792.html

B. 編寫程序,從控制台讀入一個合數,將其分解

#include <stdio.h>

int isprime(unsigned long n)

{

unsigned long i;

if(n<2)

return 0;

for(i=2;i*i<=n;++i)

if(n%i==0)

return 0;

return 1;

}

int main()

{

unsigned long n,i;

while(scanf("%lu",&n)==1)

{

for(i=2;n>1;)

{

if(isprime(i)&&n%i==0)

{

printf("%lu ",i);

n/=i;

}

else

i++;

}

printf(" ");

}

return 0;

}

C. 編程題,正整數,如果它能被7整除,或者它的十進製表示法中某個位數上的數字為7,則稱其為與7相關的數見補充

任何數至少有兩個因數,一個是1,另一個是這個數本身。例如7這個數,它既能被1整除(即1是它的因數),也能被它本身7整除(即7是它的因數 )。但有的數除了1和它本身外,還有其它的因數,比如9,除了1和9是它的因數外,它還有因數3。 再比如6,除了1和6是它的因數外,2和3也是它的因數 。 所有這些除了1和它本身外還有其它因數的數,就叫合數。剛才說的9和6就都是合數。而像5、7、11這樣的數,只有1 和它本身這兩個因數,它們 就叫質數。

D. c語言編程題判斷m是否為合數

不是素數就是合數,只要判斷是否為素數就行了。也即判斷m能否與大於零小於m的整數相除余數為零:#includes<stdio.h>main()int m,i;for(i=2;i<m;i++){if(m%i=0)printf("m是合數");break;}

E. 求1至100之間的合數之和JAVA編程題

public class Test{
public static void main(String []args){
int cn = 0;
for(int i=1;i<=100;i++){
i=i%10;
cn = cn+i;
}
System.out.println("個位上數之和 "+cnt);
}
}

F. 能幫我讀一下這道程序題吧,謝謝

#include<stdio.h>
intmain()
{
inta[10001],i,j,n,k=1;
//創建一個10000的數組,每個元素對應其標號。
for(i=1;i<=10000;i++)
a[i]=i;
//保留數組內所有的質數,合數下標對應的元素變為0
for(i=2;i<=100;i++)
for(j=i+i;j<=10000;j+=i)
a[j]=0;
//輸入一個數字,輸出該數字是兩個質數和的組數
while(scanf("%d",&n),n)
{
k=0;
for(i=3;i+i<n;i+=2)
if(a[i]&&a[n-i])
{
k++;
cout<<a[i]<<","<<a[n-i]<<endl;
}
printf("%d ",k);
}
return0;
}

G. 用C++編寫一個判斷素數合數的程序,要求輸入素數時顯示出「此數是素數」,輸入合數時給出該合數的分解式

#include<iostream.h>

boolprime(intn)//判斷是否為素數

{

inti;boolflag=true;

for(i=2;i<=n/2;i++)

if(n%i==0)flag=false;

if(flag==true||n==2)return1;//是的話返回true

return0;//否則flase

}

intfun(intn)//將合數分解,這里用了函數的遞歸調用

{

inti;

if(prime(n))

{cout<<n;return0;}

for(i=2;i<n;i++)

{

if(n%i==0&&prime(i))

cout<<i<<'*';

elsecontinue;

break;

}

fun(n/i);

}

voidmain()

{

intn;

cout<<"請輸入一個數字n:";

cin>>n;

if(prime(n))cout<<"此數為素數。"<<endl;

else{cout<<"此數為合數:"<<"n=";fun(n);cout<<endl;}

}

H. 有c語言編程題嗎


1、程序每次讀入一個正三位數,然後輸出逆序的數字。注意,當輸入的數字含有結尾的0時,輸出不應帶有前導的0。比如輸入700,輸出應該是7。


2、UTC是世界協調時,BJT是北京時間,UTC時間相當於BJT減去8。現在,你的程序要讀入一個整數,表示BJT的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分;如果小時是0,則沒有百位部分;如果分小於10分,需要保留十位上的0。如1124表示11點24分,而905表示9點5分,36表示0點36分,7表示0點7分。

有效的輸入范圍是0到2359,即你的程序不可能從測試伺服器讀到0到2359以外的輸入數據。

你的程序要輸出這個時間對應的UTC時間,輸出的格式和輸入的相同,即輸出一個整數,表示UTC的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分;如果小時是0,則沒有百位部分;如果分小於10分,需要保留十位上的0。

提醒:要小心跨日的換算。


3、你的程序要讀入一系列正整數數據,輸入-1表示輸入結束,-1本身不是輸入的數據。程序輸出讀到的數據中的奇數和偶數的個數。


4、我們認為2是第一個素數,3是第二個素數,5是第三個素數,依次類推。

現在,給定兩個整數n和m,0<n<=m<=200,你的程序要計算第n個素數到第m個素數之間所有的素數的和,包括第n個素數和第m個素數。


5、每個非素數(合數)都可以寫成幾個素數(也可稱為質數)相乘的形式,這幾個素數就都叫做這個合數的質因數。比如,6可以被分解為2x3,而24可以被分解為2x2x2x3。

現在,你的程序要讀入一個[2,100000]范圍內的整數,然後輸出它的質因數分解式;當讀到的就是素數時,輸出它本身。


6、你的程序要讀入兩個多項式,然後輸出這兩個多項式的和,也就是把對應的冪上的系數相加然後輸出。

程序要處理的冪最大為100。


7、你的程序要讀入一行文本,其中以空格分隔為若干個單詞,以『.』結束。你要輸出這行文本中每個單詞的長度。這里的單詞與語言無關,可以包括各種符號,比如「it's」算一個單詞,長度為4。注意,行中可能出現連續的空格。


純手打,望採納!謝謝!!!

熱點內容
c是高級程序設計語言的一種 發布:2025-03-29 18:44:38 瀏覽:384
王者榮耀安卓服和蘋果排位哪個好 發布:2025-03-29 18:14:54 瀏覽:932
什麼是微信緩存文件 發布:2025-03-29 18:13:32 瀏覽:462
怎麼修改安卓手機使用信息 發布:2025-03-29 18:03:51 瀏覽:231
網站後台更新緩存 發布:2025-03-29 18:03:46 瀏覽:141
榮耀相冊密碼在哪裡設置 發布:2025-03-29 18:02:56 瀏覽:449
活動記錄編譯 發布:2025-03-29 17:59:04 瀏覽:455
安卓系統視頻原文件在哪裡 發布:2025-03-29 17:46:00 瀏覽:844
pr編譯未安裝 發布:2025-03-29 17:45:57 瀏覽:218
准非易失存儲 發布:2025-03-29 17:39:01 瀏覽:321