これからの季節に親子でハイキング! >>

D-Wave2000Qとスパコン京最新型、凄いのは?

A 回答 (1件)

そりゃカナダのD-Waveしょ。

    • good
    • 0
この回答へのお礼

Thank you

ですよね。

お礼日時:2017/08/08 15:47

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

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

QDVDはDVD-RよりDVD+Rの方が構造が似ているってどういうことですか?

DVDはDVD-RよりDVD+Rの方が構造が似ているってどういうことですか?

Aベストアンサー

>DVDはDVD-RよりDVD+Rの方が構造が似ている

「CD-RはDVD-RやDVD+Rと似た構造」では?(「DVD」はと言うとDVD-RやDVD+R、DVD-RAMなどすべて含む)
-Rも+Rもデータが記録される記録層に有機色素を使用
http://www.tdk-media.jp/dvdkihon/html/dvd20210.html

QC言語について(三角形の面積・double型)

現在C言語を勉強中のものです。
以下のプログラムを実行すると、面積の計算結果が0になってしまいます。
doubleを全てintに、%fを全て%dにするとうまく動くのは確認したのですが、
自分が作りたいのは、引数をdoubleにし、実行結果も小数点込みで計算するものです。

以下のプログラムの問題点とその理由、またどのように書き換えることでうまく動くのかを教えていただけたらと思います。
よろしくお願いいたします。

~~以下コード~~
#include <stdio.h>

double tri(double,double);

int main(){
   double takasa,teihen;
   double menseki;
   printf("takasa=");
   scanf("%f",&takasa);
   printf("teihen=");
   scanf("%f",&teihen);
   menseki = tri(takasa,teihen);
   printf("menseki = %f",menseki);
}

double tri(double n1,double n2){
   return n1*n2/2;
}

~~以下実行結果~~
takasa=3
teihen=4
menseki = 0.000000

現在C言語を勉強中のものです。
以下のプログラムを実行すると、面積の計算結果が0になってしまいます。
doubleを全てintに、%fを全て%dにするとうまく動くのは確認したのですが、
自分が作りたいのは、引数をdoubleにし、実行結果も小数点込みで計算するものです。

以下のプログラムの問題点とその理由、またどのように書き換えることでうまく動くのかを教えていただけたらと思います。
よろしくお願いいたします。

~~以下コード~~
#include <stdio.h>

double tri(double,double);

int mai...続きを読む

Aベストアンサー

doubleのフォーマット指定子は%fではなく%lfです
とりあえずそこを変えてみて実行してみてください

Qプログラムエラー

大学で情報システムの勉強をしているのですが、テスト工程におけるエラーは論理エラーが一番多いのですか?もしそうだとして、なぜ一番多いのでしょうか?人為的なミスが原因で起こると習いましたが、構文エラーも人為的な入力ミスで起こりますよね?

Aベストアンサー

>>テスト工程におけるエラーは論理エラーが一番多い

一番多いのはケアレスミス、つまりウッカリミスです。
1とiの間違い、0とoの間違い、;と:の間違い、.と,の間違い、変数の綴りミス、変数のクリアミスなど。

ロンリミスは直ぐに発見できるが、ケアレスミスは発見に時間がかかる。

特に当事者が発見するのは相当難しい(そう思い込んでいるから)。

Qc言語がわかりません

c言語でピラミッドを作りたいんですけどfor文もしくはwhile文を二回までしか使えません。ほかの方法を教えてください

Aベストアンサー

// 何度もスミマセン! スマホからなので、全体が見えなくて...
// ↓(第2稿) だと、アドレス計算が間違っていて暴走します。
// 3度目の正直
//

// drawing isosceles triangle

#define NUMBER_OF_LAYERS 5
#define FILL_CHAR ('*')
#define PAD_CHAR (' ')

#include <stdio.h>
#include <string.h>

int main()
{
char line[2 *(NUMBER_OF_LAYERS + 1)];
unsigned int count;

for( count = 0; count < NUMBER_OF_LAYERS; count++)
{
memset(line, PAD_CHAR, sizeof(line)- 1);
line[sizeof(line)- 1]='¥0';
memset(&line[NUMBER_OF_LAYERS - 1 - count, FILL_CHAR, 2 * count + 1);

puts(line); putchar('¥n');
}

return 0;
}

// 何度もスミマセン! スマホからなので、全体が見えなくて...
// ↓(第2稿) だと、アドレス計算が間違っていて暴走します。
// 3度目の正直
//

// drawing isosceles triangle

#define NUMBER_OF_LAYERS 5
#define FILL_CHAR ('*')
#define PAD_CHAR (' ')

#include <stdio.h>
#include <string.h>

int main()
{
char line[2 *(NUMBER_OF_LAYERS + 1)];
unsigned int count;

for( count = 0; count < NUMBER_OF_LAYERS; count++)
...続きを読む

Q100個の要素を持つ1次元配列に1からはじまる奇数を順に格納するプログラムがかけません。 教えてくだ

100個の要素を持つ1次元配列に1からはじまる奇数を順に格納するプログラムがかけません。
教えてください

Aベストアンサー

>for文のところがよく理解できないので、教えていただけますか?
読んだままですけど・・
まず、n = 0, m = 1 を代入します
n < 100のであれば、for文の直後の文 dt[n] = m; を実行します。
n++, m += 2 を実行してから、再度n < 100をチェックする部分に飛びます

Qc言語での文字列の渡し方

ある関数内で、作成した、文字列をmainプログラムでうけとるにはどのようにすればよいのでしょうか。
普通の変数の場合は解説書に例はありますが、配列の場合の例は見つかりませんでした。
以下は例です。gccを使っています。

int main(){
char str[20]; // sub内で加工した文字列を受け取る配列
...
sub( str );
....
}
void sub( char *ch ){
....
ch="ABCD"; // この値をmainプログラム内でつかいたい
....
}

Aベストアンサー

No2のかたが言われているように、strcpyを使用して、文字列を設定します。
厳密に言えば、strcpyの他にも方法はありますが、現時点では、strcpyと覚えておけばよいでしょう。
但し、strcpyを使用する場合、一点、必ず、守らなければいけないことがあります。
それは、呼び出し元のサイズ(今回は20バイト)を超えるサイズを設定してはいけないということです。
もし、strcpy(ch,"ABCDEFGHIJKLMNOPQRSTUVZWYZ");
を行うと、コンパイルは正常に終了しますが、呼び出し側で確保した20バイトを突き破りメモリの設定を行います。
その結果、異常終了します。(場合によっては、異常終了せずに、正常のようにみえることもあります)
----------------------------------------------------
#include<stdio.h>
#include<string.h>
void sub( char *ch ); //プロトタイプ宣言
int main(){
char str[20]; // sub内で加工した文字列を受け取る配列
sub( str );
printf("%s",str); //受け取った結果を印字
}
void sub( char *ch ){
strcpy(ch,"ABCD"); // この値をmainプログラム内でつかいたい
}
-----------------------------------------------------
実行結果
ABCD

No2のかたが言われているように、strcpyを使用して、文字列を設定します。
厳密に言えば、strcpyの他にも方法はありますが、現時点では、strcpyと覚えておけばよいでしょう。
但し、strcpyを使用する場合、一点、必ず、守らなければいけないことがあります。
それは、呼び出し元のサイズ(今回は20バイト)を超えるサイズを設定してはいけないということです。
もし、strcpy(ch,"ABCDEFGHIJKLMNOPQRSTUVZWYZ");
を行うと、コンパイルは正常に終了しますが、呼び出し側で確保した20バイトを突き破りメモリの設定を...続きを読む

QVisual Studio C#

public decimal PlanPrice
{
get
{
int x = 0;
decimal a;
a = (decimal)x;
return Settings.Default.PlanPrice;
}
}
public decimal ResultPrice
{get;private set;}
public decimal SubtractPrice
{
get
{
return ResultPrice - PlanPrice;
}
}
public decimal TotalPrice
{
get
{
decimal p =
_previousModel == null ?
0 :
_previousModel.TotalPrice;
return p + SubtractPrice ;
}
}
public decimal PercentComplete
{
get
{
return ResultPrice / PlanPrice;
}
}

↑のコードで達成率をResultPrice / PlanPriceで出そうと思ったのですが1月のように値が出ないのと、decimal型で書いているのに少数が出ないのはどうしてでしょうか?

public decimal PlanPrice
{
get
{
int x = 0;
decimal a;
a = (decimal)x;
return Settings.Default.PlanPrice;
}
}
public decimal ResultPrice
{get;private set;}
public decimal SubtractPrice
{
get
{
return ResultPrice - PlanPrice;
}
}
public decima...続きを読む

Aベストアンサー

https://oshiete.goo.ne.jp/qa/9843253.html

doubleがdecimalになっても同じです。

「public decimal PercentComplete」自体は小数点以下まで計算した値を返しているはずです。
なので、この部分だけ見せられても、原因はわかりません。

・PercentCompleteは 比率であって、百分率にはなっていないように見えます。
これを 100倍にするような計算をしているはずです。
それが int p = PercentComplete * 100 ; みたいにintで受けたりしてませんか?

・その表を表示するのに、どんなコントロールを使っているかがわかりませんが、
Columns[達成率].Format ="#,###,###" ;
みたいな感じの書式設定されていたりしませんか?
(.Netの書式設定がそのまま使えるとして)
https://msdn.microsoft.com/ja-jp/library/0c899ak8(v=vs.110).aspx#SpecifierD
上記書式だと、 小数点以下は表示されないし、 #の機能により整数部が 0 の場合は表示されません
1月が空欄なのは、 小数点以下非表示、整数部の0も表示されない、という状態なのでは

https://oshiete.goo.ne.jp/qa/9843253.html

doubleがdecimalになっても同じです。

「public decimal PercentComplete」自体は小数点以下まで計算した値を返しているはずです。
なので、この部分だけ見せられても、原因はわかりません。

・PercentCompleteは 比率であって、百分率にはなっていないように見えます。
これを 100倍にするような計算をしているはずです。
それが int p = PercentComplete * 100 ; みたいにintで受けたりしてませんか?

・その表を表示するのに、どんなコントロールを使っているか...続きを読む

Q人工知能

私が遠い昔学生だったころ、
人工知能に関係する、プログラミングは lisp、prolog (スペルが違ってたらすいません)
のようなものがありました。

今は、人工知能のプログラミングはどのように、行われているのですか。

あと数学、理論はどのようなものを使っているのですか?

書店でもきちんとした理論書が見つからなく、
アマゾンでも、中身が見れず。

学生のころ興味があったのですが、職業、趣味共離れてしまい、

ふと最近疑問に思ってしまいました。

また、参考になる書籍があったら教えてください。
よろしくお願いします。

Aベストアンサー

最近は開発言語というよりは開発環境でしょうか。

 触ったことがないですが、Googleが提供しているようなTensorFlowを借りて実装するのが流行っているようです。


>TensorFlowはじめました 実践!最新Googleマシンラーニング (NextPublishing) Kindle版
>https://www.amazon.co.jp/gp/product/B01IT509EY/ref=series_dp_rw_ca_1

 あまり名称としては聞くことが少ないですがPrologも再び注目を浴びているようです。
 IBMワトソンの中核部分はPrologのようです。

 有名どころでは「Caffe」などがありますね。


>初めてのディープラーニング --オープンソース"Caffe"による演習付き 単行本(ソフトカバー) – 2016/2/19
>https://www.amazon.co.jp/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AE%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0-%E3%82%AA%E3%83%BC%E3%83%97%E3%83%B3%E3%82%BD%E3%83%BC%E3%82%B9-Caffe-%E3%81%AB%E3%82%88%E3%82%8B%E6%BC%94%E7%BF%92%E4%BB%98%E3%81%8D-%E6%AD%A6%E4%BA%95/dp/4865940227/ref=sr_1_fkmr1_1?ie=UTF8&qid=1499414097&sr=8-1-fkmr1&keywords=%E5%AE%9F%E7%BF%92%E3%80%80cafe%E3%80%80%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD

最近は開発言語というよりは開発環境でしょうか。

 触ったことがないですが、Googleが提供しているようなTensorFlowを借りて実装するのが流行っているようです。


>TensorFlowはじめました 実践!最新Googleマシンラーニング (NextPublishing) Kindle版
>https://www.amazon.co.jp/gp/product/B01IT509EY/ref=series_dp_rw_ca_1

 あまり名称としては聞くことが少ないですがPrologも再び注目を浴びているようです。
 IBMワトソンの中核部分はPrologのようです。

 有名どころでは「...続きを読む

QプログラミングC言語

急募



行列の計算(xとyとx*y)を表示するプログラムを作成したのですが、デバックなしで実行はできたがプログラムが、表示されません。
どなたか、プログラムの間違えているところ、間違えているところの正しい答えを教えていただけないでしょうか


#include<stdio.h>

int main(void)

{
int i,j,k;

int x[2][3]={{3,0,3},{4,5,6}};
int y[3][2]={{1,5},{5,3},{8,1}};
int z[2][2]={0};

for(i=0; i<3; i++){
for(j=0; j=2; j++){
for(k=0; k<2; k++)

z[i][j]+=x[i][k]*y[k][j];
}
}

printf("行列X=\n");

for(i=0; i<2; i++){
for(j=0; j<3; j++)
printf("%3d",x[i][j]);
putchar('\n');

}

printf("行列Y=\n");

for(i=0; i<3; i++){
for(j=0; j<2; j++)
printf("%3d",y[i][j]);
putchar('\n');
}


printf("\nx*y=\n");

for(i=0; i<2; i++){
for(j=0; j<2; j++)
printf("%3d",z[i][j]);
putchar('\n');
}



return 0;
}

急募



行列の計算(xとyとx*y)を表示するプログラムを作成したのですが、デバックなしで実行はできたがプログラムが、表示されません。
どなたか、プログラムの間違えているところ、間違えているところの正しい答えを教えていただけないでしょうか


#include<stdio.h>

int main(void)

{
int i,j,k;

int x[2][3]={{3,0,3},{4,5,6}};
int y[3][2]={{1,5},{5,3},{8,1}};
int z[2][2]={0};

for(i=0; i<3; i++){
for(j=0; j=2; j++){
for(k=0; k<2; k++)

z[i][j]+=x[i][k]...続きを読む

Aベストアンサー

とりあえず、1っ箇所修正しました。
//修正・・・とコメントを入れておきます。

#include<stdio.h>

int main(void)

{
int i,j,k;

int x[2][3]={{3,0,3},{4,5,6}};
int y[3][2]={{1,5},{5,3},{8,1}};
int z[2][2]={0};

for(i=0; i<3; i++){
for(j=0; j<2; j++){ //修正
for(k=0; k<2; k++)

z[i][j]+=x[i][k]*y[k][j];
}
}

printf("行列X=\n");

for(i=0; i<2; i++){
for(j=0; j<3; j++)
printf("%3d",x[i][j]);
putchar('\n');

}

printf("行列Y=\n");

for(i=0; i<3; i++){
for(j=0; j<2; j++)
printf("%3d",y[i][j]);
putchar('\n');
}


printf("\nx*y=\n");

for(i=0; i<2; i++){
for(j=0; j<2; j++)
printf("%3d",z[i][j]);
putchar('\n');
}



return 0;
}

とりあえず、1っ箇所修正しました。
//修正・・・とコメントを入れておきます。

#include<stdio.h>

int main(void)

{
int i,j,k;

int x[2][3]={{3,0,3},{4,5,6}};
int y[3][2]={{1,5},{5,3},{8,1}};
int z[2][2]={0};

for(i=0; i<3; i++){
for(j=0; j<2; j++){ //修正
for(k=0; k<2; k++)

z[i][j]+=x[i][k]*y[k][j];
}
}

printf("行列X=\n");

for(i=0; i<2; i++){
for(j=0; j<3; j++)
printf("%3d",x[i][j]);
putchar('\n');

}

printf("行列Y=\n");

for(i=0; i<3; i++){
for(j=0; j<2; j+...続きを読む

QC言語で、べき乗の計算をするプログラムについてです

X^8の計算を、掛け算を使わずに、足し算と引き算を使って計算するプログラムを作成するというものです。
足し算のみを使ってべき乗の計算をするプログラムは以下のソースコードの様にできたのですが、足し算と引き算の両方ともを使って計算するプログラムがわかりません。
べき乗の計算をどのように考えれば、足し算と引き算の両方を使って計算できるのか教えてください。
以下、足し算のみを使って計算するプログラムのソースコードです。
・・・ソースコード・・・
#include<stdio.h>

int main(void) {

int i, j, k;
i = 0; ///①Xの加算回数の値を保持する変数iを0に初期化する。///
j = 0; ///②X^2の加算回数の値を保持する変数jを0に初期化する。///
k = 0; ///③X^4の加算回数の値を保持する変数kを0に初期化する。///
double X, goukei1, goukei2, goukei3;
X = 0;
goukei1 = 0; ///④X^2の計算値を保持する変数goukei1を0に初期化する。///
goukei2 = 0; ///⑤X^4の計算値を保持する変数goukei2を0に初期化する。///
goukei3 = 0; ///⑥X^8の計算値を保持する変数goukei3を0に初期化する。///

printf("X=");
///数値Xを入力///
scanf_s("%lf", &X);

///⑦iがX以下か判定し、真ならば⑧~⑨を繰り返し、偽ならば繰り返しを終了する。///
for (i = 0; i < X; i++) { ///⑨iに1を加算する。///
goukei1 += X; ///⑧goukei1にXを加算する。///
}

///⑩jがgoukei1以下か判定し、真ならば⑪~⑫を繰り返し、偽ならば繰り返しを終了する。///
for (j = 0; j < goukei1; j++) { ///⑫jに1を加算する。///
goukei2 += goukei1; ///⑪goukei2にgoukei1を加算する。///
}

///⑬kがgoukei2以下か判定し、真ならば⑭~⑮を繰り返し、偽ならば繰り返しを終了する。///
for (k = 0; k < goukei2; k++) { ///⑮kに1を加算する。///
goukei3 += goukei2; ///⑭goukei3にgoukei2を加算する。///
}
///最終的な計算結果を出力///
printf("X^8=%f", goukei3);

return 0;
}

X^8の計算を、掛け算を使わずに、足し算と引き算を使って計算するプログラムを作成するというものです。
足し算のみを使ってべき乗の計算をするプログラムは以下のソースコードの様にできたのですが、足し算と引き算の両方ともを使って計算するプログラムがわかりません。
べき乗の計算をどのように考えれば、足し算と引き算の両方を使って計算できるのか教えてください。
以下、足し算のみを使って計算するプログラムのソースコードです。
・・・ソースコード・・・
#include<stdio.h>

int main(void) {
...続きを読む

Aベストアンサー

「引き算を使え」という問題の意図がよくわかりませんが、単純にfor文のカウンタ(質問文ではi, j, k)を加算ではなく減算でカウントするっていう意味だったりしないでしょうか。

ところで、X^8 = ((X^2)^2)^2 というアイデアは数学的には賢いやり方ですが、
足し算縛りのプログラムで作ると実は計算量は大きくなると思います。
X^8 = ((((((X*X)*X)*X)*X)*X)*X)*X の方が、実は計算回数が少なくて済みます。
X=10の場合、前者は10,110回、後者は70回の足し算になります。


人気Q&Aランキング