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

c語言求整出個數快速

發布時間: 2022-09-19 19:41:30

c語言 快速求一個自然數的約數的個數

對於這個問題我們只需要暴力從2到根號n這個閉區間的所有整數就行了,如果能整除計數就加2,不過如果這個整數的平方就是輸入的n則計數只能加1。最後不要忘記1和其自身。如果根號n不是一個整數,那麼我們可以向下取整。演算法的整體復雜度是根號n,這個演算法的時間消耗與根號n成正比,不過可以確定的是n在32位的整型(或者無符號的整型)數據范圍內時間消耗還是比較樂觀的。參考代碼(C語言實現):
#include
<stdio.h>
#include
<math.h>
int
main(void)
{
int
i;
int
n;
int
m;
int
num;
scanf("%d",
&n);
num
=
0;
m
=
sqrt(n);
for
(i=2;
i<=m;
++i)
{
if
(n
%
i
==
0)
{
num
+=
2;
if
(i
*
i
==
n)
{
--num;
}
}
}
/*自然數1應該只有一個因子才對*/
if
(n
!=
1)
{
num
+=
2;
}
else
{
++num;
}
printf("%d\n",
num);
return
0;
}

⑵ C語言.輸入一個整數,求出該整數的個位數。 源代碼:

來個簡單的,

#include<stdio.h>
#include<stdlib.h>
#include<limits.h>

intmain(intargc,char**argv)
{
inta;
unsignedintdigits=1;

printf("Inputaninteger:");
scanf("%d",&a);

if(a<0)a=(a==INT_MIN)?INT_MAX:-a;

while(a>9){
a/=10;
digits++;
}

printf("Theinteger%dhas%ddigits. ",a,digits);

return0;
}

⑶ 怎麼快速地求出一個數字中其中的一位數字C語言

例:
x=156987 求第四位··

y=x/1000

y=y%10;

y就為6~~

⑷ C語言如何進行取整

C語言有以下幾種取整方法: 1、直接賦值給整數變數。如: int i = 2.5; 或 i = (int) 2.5; 這種方法採用的是捨去小數部分,可以用於你的問題。 2、C/C++中的整數除法運算符「/」本身就有取整功能(int / int),而下面介紹的取整函數返回值是double。整數除法對正數的取整是捨去小數部分,可以用於你的問題。但是整數除法對負數的取整結果和使用的C編譯器有關。 3、使用floor函數。floor(x)返回的是小於或等於x的最大整數。如: floor(2.5) = 2 floor(-2.5) = -3 4、使用ceil函數。ceil(x)返回的是大於x的最小整數。如: ceil(2.5) = 3 ceil(-2.5) = -2 floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。floor函數可以用於你的問題。hyh的意見:int x,a,b,c,d;a=x/1000;b=x%1000/100;

⑸ C語言求一串數字的個數,比如003,輸出3,00001,輸出5,010201,輸出6,用getchar或者其他方法,越多越好

#include<stdio.h>
#include<string.h>//字元函數頭文件
int main()
{
char a[100];
int len;
printf("請輸入一串字元串:\n");
scanf("%s",a);
len = strlen(a);//求字元串長度函數
printf("長度為%d\n",len);
return 0;
}

⑹ C語言怎樣提取一個數的十位個位百位千位

設一個數為n,則在C語言中其個位、十位、百位、千位依次這樣計算:n/1%10,n/10%10,n/100%10,n/1000%10

代碼如下:

#include<stdio.h>

int main(){

int n = 123456;

int unitPlace = n / 1 % 10;

int tenPlace = n / 10 % 10;

int hundredPlace = n / 100 % 10;

int thousandPlace = n / 1000 % 10;

printf("個位:%d 十位:%d 百位:%d 千位:%d ", unitPlace, tenPlace, hundredPlace, thousandPlace);

getchar();

return 0;

}

運行結果如圖:

(6)c語言求整出個數快速擴展閱讀

C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。

⑺ c語言中如何求出一個已知整形數組的數的個數

數組大小 sizeof(arr) 除以 sizeof(int)
例如:
#include <stdio.h>
main( ){
int x[10];
int y[3][5];
printf("x elem number: %d\n", sizeof(x)/sizeof(int));
printf("y elem number: %d\n", sizeof(y)/sizeof(int));
return 0;
}

得:
x elem number: 10
y elem number: 15

⑻ C語言的幾種取整方法

float b=3.14,c; int a;
a=b; //默認將b進行取整後賦值給a
c=(int)b; //強制數據類型轉換得到int型數據,然後再轉換成對應的float數據送給c存放

⑼ c語言調用函數求一個整數數的位數

#include<stdio.h>
int
count
=
1;
int
calc(int
num){
while
(1
==
1)
{
count++;
num
/=
10;
if(num
<
0){
//小於0的數就變成正數
num
*=
-1;
}
if
(num
<
10)
{
break;
}
}
return
count;
}
void
main(){
int
num
=
0;
printf("請輸入一個數:");
scanf("%d",&num)
printf("數字%d是一個%d位數!",num,calc(num));
}

⑽ 怎樣用c語言實現取一個數字的個位

取一個數字的個位,可以分為取整數的個位,和浮點數的個位兩種情況:
1)取一個整數的個位,可以直接求余
例如 變數 int num=127;
num%10 就可以得到個位的7
2)取浮點數的個位
因為%是不能對浮點數直接運算的,因此需要強製取整之後執行
例如變數 double num=27.83;
((int)num)%10 就可以得到個位的7