忙しい現代人の腰&肩のお悩み対策!

C言語primeについて

primeとは何ですか?
調べましたがよくわかりませんでした。
main関数のようなものなのでしょうか・・・

C言語初心者なのでお手柔らかに教えていただけると助かります。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

エスパー的に回答すれば


よくC言語の課題で素数判定のプログラムがありますが
その場合に素数(prime number)ですので変数名や関数名にprimeという単語を使うことは多いですね
    • good
    • 0
この回答へのお礼

ありがとうございます。
理解できました。
深く考えすぎていたみたいです。

お礼日時:2010/05/11 20:41

>primeとは何ですか?


何処に出てきた言葉ですか?
C言語には、そのような単語(予約語)や関数はありませんが。
    • good
    • 0
この回答へのお礼

深く考えすぎていました。

お礼日時:2010/05/11 20:47

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qcharでの計算?

就活で筆記試験がありました(C言語)。

問題は良く覚えていないのですが、char型で計算?をしていて、その答えを書けというものでした。

はっきり言ってまったく分かりませんでした。
char型は文字を入れるものと思っていたからです。

int型じゃなくchar型で計算などできるのでしょうか?
できるんなら例を挙げて解き方を教えてください。

めんどくさいでしょうがよろしくお願いします<(_ _)>

Aベストアンサー

C言語の型は、数字や文字に分類されているように見えますが、
実際には変数の大きさを示すだけだと考えることもできます。
つまりcharならASCIIコードが収められるように8bitの大きさで、
intは(32bitのwindowsなら)32bitです。
それを数値として考えたときには、
char は-127~127、intは-68719476734~68719476734までの整数として表されます。

なので、
char a,b;
a = 1;
b = 2;
printf("%i",a+b);
などとすれば3が表示されるはずです。

QC言語<素数を求めるプログラム>

#include<stdio.h>
int j;
int prime(int n)
{
int i;

if(n < 2) return 0;
if(n == 2) return 1;
if(n%2 == 0) return 0;

for(i = 3; i*i<= n; i += 2){
if(n%i == 0) return 0;
}
return 1;
}

int main(void)
{
int n;

for(n=1; n <= 1000; n++)
{
if(prime(n)){

printf("%d\n",n);
j++;
}
}
printf("素数の個数は全部で %d 件見つかりました。\n",j);

return 0;
}

このプログラムは1から1000までの素数のみを表示させるプログラムでありますが、このアルゴリズムが全くわかりません。
int prime(int n)の中身のアルゴリズムがどういう仕組みになっているのかお分かりになりますでしょうか?

#include<stdio.h>
int j;
int prime(int n)
{
int i;

if(n < 2) return 0;
if(n == 2) return 1;
if(n%2 == 0) return 0;

for(i = 3; i*i<= n; i += 2){
if(n%i == 0) return 0;
}
return 1;
}

int main(void)
{
int n;

for(n=1; n <= 1000; n++)
{
if(prime(n)){

printf("%d\n",n);
j++;
}
}
printf("素数の個数は全部で %d 件見つかりました。\n",j);

return 0;
}

このプログラムは1から1000までの素数のみを表示させるプログラムであり...続きを読む

Aベストアンサー

「int prime(int n)」内についてですが、
if(n < 2) return 0;
 →2未満の数字は素数としない、つまり「1」の時は素数ではないと判断したい処理ですね
if(n == 2) return 1;
 →2の時は無条件に素数と判断する為です
if(n%2 == 0) return 0;
 →nを2で割った時のあまりが0だったら素数ではない、つまり(2より大きい)偶数の時は絶対素数ではないので偶数をはぶく為の処理ですね
for(i = 3; i*i<= n; i += 2){
if(n%i == 0) return 0;
}
 →割る数(i)を3から5、7、9・・・のように増やしていって、nを割ったときのあまりが0かどうか判断しています。
  例:n=9場合、i=3の時に9/3であまりが0になるので、9は3で割り切れるから9は素数じゃない!
  の処理をしています。
return 1;
 →で、最後のreturnですが、これは説明不要でしょか?
  ここに来るまで素数じゃないと判断されたらreturn 0で途中で処理を抜けています。
  つまりここまで来たら素数なのでreturn 1を返します。

で、よろしいでしょうか?

「int prime(int n)」内についてですが、
if(n < 2) return 0;
 →2未満の数字は素数としない、つまり「1」の時は素数ではないと判断したい処理ですね
if(n == 2) return 1;
 →2の時は無条件に素数と判断する為です
if(n%2 == 0) return 0;
 →nを2で割った時のあまりが0だったら素数ではない、つまり(2より大きい)偶数の時は絶対素数ではないので偶数をはぶく為の処理ですね
for(i = 3; i*i<= n; i += 2){
if(n%i == 0) return 0;
}
 →割る数(i)を3から5、7、9・・・のように増やし...続きを読む

Q階乗の式

「5」と入力すると、「1*2*3*4*5=120」(階乗)と表示されるプログラムを組みたいのですが、
例で言うと120という計算結果は出せるのですが式の部分が出せません。
forまたはwhileによって作るんですが誰か式をうまく出すプログラムが分かる人いらっしゃいませんか?

Aベストアンサー

import java.io.*;

public class kaijyou {
public static void main(String[] args){
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

System.out.print("数字を入力=> ");
int x = Integer.parseInt(in.readLine());
int y=1;

System.out.print("結果は ");
for(int i=1;i<x;i++){

System.out.print(i+"*");
y=i*y;

}
System.out.print(x+"=" +y*x );
}
}


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング